node = nodes.find(item.type.lowercase === “play3daudioforallplayers")
node.name
)
node.type
)node.category
)node.inputs.list(k,v)→
${k} (${v})``)node.has_execution_flow
)node.produces_execution_flow
)node.receives_execution_flow
)Welcome to the official r/forge discord! We exist to help others become the best forger they possible can. Whether you want to make a simple map or script an entire game mode, we are here to help.
Before you dive in, please read the #rules
channel. Then, come back here to get some useful starting material. This information is also available in #resources-and-guides
r/forge Official Scripting Documentation:
-**https://www.notion.so/forge-documentation/Halo-Infinite-Forge-Scripting-Documentation-fb42fcb06fa9411e89f4e89ab1da157c**
Quickstart guide on scripting:
-https://www.notion.so/forge-documentation/Quick-Start-Guide-13314f14d69548878fdd6dcb9bab41ee
Reddit Weekly Bug Reports:
-Week 1: https://www.reddit.com/r/forge/comments/yu5wma/weekly_question_thread_and_bug_report_1/
-Week 2: https://www.reddit.com/r/forge/comments/z16zor/weekly_question_thread_and_bug_report_2/
Reddit Quickstart and Tutorials:
-https://www.reddit.com/r/forge/comments/ytn9xw/halo_infinite_forge_quick_start_guide/
Node graph simulators:
-https://beta.cyclix.guide/forge/
-https://miro.com/app/board/o9J_lr0S6gU=/?invite_link_id=826821076372
Wikipedias:
-https://www.notion.so/forge-documentation/Halo-Infinite-Forge-Scripting-Documentation-fb42fcb06fa9411e89f4e89ab1da157c
-https://www.halopedia.org/User:CaptainPunch/Sandbox
Other Discords:
-ForgeWiki: https://discord.gg/7J4A6a2f8k
-ForgeHub: https://discord.gg/5gjBgcpKC6
-The Scripters Guild: https://discord.gg/VJy8FrYpzb
import { SubmissionStream, CommentStream } from "snoostorm";
import Snoowrap from "snoowrap";
import 'dotenv/config'
const credentials = {
"userAgent": "automod-Forge-Monitor:v0.0.1",
"clientId": process.env.R_CLIENT_ID,
"clientSecret": process.env.R_CLIENT_SECRET,
"username": process.env.R_USERNAME,
"password": process.env.R_PASSWORD
}
const client = new Snoowrap(credentials)
const BOT_START = Date.now() / 1000
const forge = { subreddit: "forge", limit: 50, pollTime: 3000 }
const forgescripting = { subreddit: "forgescripting", limit: 50, pollTime: 3000 }
new SubmissionStream(client, forge).on('item', (post) => {
if (post.created_utc < BOT_START) return
//post.reply("")
console.log(post)
})
new CommentStream(client, forge).on("item", (comment) => {
if (comment.created_utc < BOT_START) return
console.log(comment)+
})
class ForgeBot {
static flairText =
{
no_flair: "",
scripting_help: ""
}
static header = ""
static footer = "***\\n^Join ^our ^discord ^[](here)!."
static reply(post) {
//const postText = post.selftext_html
const postFlair = post.flair
let flairResponse = flairText[postFlair]
if(postFlair === "") {
flairResponse = "Please use a flair on your post"
} else if(flairResponse === null) {
flairResponse = `(Unknown flair: ${postFlair}. Please report this to the admins.)`
}
return `${this.header}\\n\\n${flairResponse}\\n\\n${this.footer}`
}
}
Submission
Submission {
approved_at_utc: null,
subreddit: Subreddit { display_name: 'OptnTools' },
selftext: 'ttt',
author_fullname: 't2_5fxe72qu',
saved: false,
mod_reason_title: null,
gilded: 0,
clicked: false,
title: 'Test',
link_flair_richtext: [],
subreddit_name_prefixed: 'r/OptnTools',
hidden: false,
pwls: null,
link_flair_css_class: null,
downs: 0,
thumbnail_height: null,
top_awarded_type: null,
hide_score: true,
name: 't3_zrw1jv',
quarantine: false,
link_flair_text_color: 'dark',
upvote_ratio: 1,
author_flair_background_color: null,
subreddit_type: 'public',
ups: 1,
total_awards_received: 0,
media_embed: {},
thumbnail_width: null,
author_flair_template_id: null,
is_original_content: false,
user_reports: [],
secure_media: null,
is_reddit_media_domain: false,
is_meta: false,
category: null,
secure_media_embed: {},
link_flair_text: null,
can_mod_post: false,
score: 1,
approved_by: null,
is_created_from_ads_ui: false,
author_premium: false,
thumbnail: 'self',
edited: false,
author_flair_css_class: null,
author_flair_richtext: [],
gildings: {},
content_categories: null,
is_self: true,
mod_note: null,
created: 1671646098,
link_flair_type: 'text',
wls: null,
removed_by_category: null,
banned_by: null,
author_flair_type: 'text',
domain: 'self.OptnTools',
allow_live_comments: false,
selftext_html: '<!-- SC_OFF --><div class="md"><p>ttt</p>\\n</div><!-- SC_ON -->',
likes: null,
suggested_sort: null,
banned_at_utc: null,
view_count: null,
archived: false,
no_follow: true,
is_crosspostable: true,
pinned: false,
over_18: false,
all_awardings: [],
awarders: [],
media_only: false,
can_gild: true,
spoiler: false,
locked: false,
author_flair_text: null,
treatment_tags: [],
visited: false,
removed_by: null,
num_reports: null,
distinguished: null,
subreddit_id: 't5_6th5i0',
author_is_blocked: false,
mod_reason_by: null,
removal_reason: null,
link_flair_background_color: '',
id: 'zrw1jv',
is_robot_indexable: true,
report_reasons: null,
author: RedditUser { name: 'hey-im-root' },
discussion_type: null,
num_comments: 0,
send_replies: true,
whitelist_status: null,
contest_mode: false,
mod_reports: [],
author_patreon_flair: false,
author_flair_text_color: null,
permalink: '/r/OptnTools/comments/zrw1jv/test/',
parent_whitelist_status: null,
stickied: false,
url: '<https://www.reddit.com/r/OptnTools/comments/zrw1jv/test/>',
subreddit_subscribers: 1,
created_utc: 1671646098,
num_crossposts: 0,
media: null,
is_video: false,
comments: Listing []
}
Comment
Comment {
subreddit_id: 't5_6th5i0',
approved_at_utc: null,
author_is_blocked: false,
comment_type: null,
link_title: 'Test',
mod_reason_by: null,
banned_by: null,
ups: 1,
num_reports: null,
author_flair_type: 'text',
total_awards_received: 0,
subreddit: Subreddit { display_name: 'OptnTools' },
link_author: 'hey-im-root',
likes: null,
replies: Listing [],
user_reports: [],
saved: false,
id: 'j14vwet',
banned_at_utc: null,
mod_reason_title: null,
gilded: 0,
archived: false,
collapsed_reason_code: null,
no_follow: true,
author: RedditUser { name: 'hey-im-root' },
num_comments: 1,
can_mod_post: false,
send_replies: true,
parent_id: 't3_zrw1jv',
score: 1,
author_fullname: 't2_5fxe72qu',
over_18: false,
report_reasons: null,
removal_reason: null,
approved_by: null,
controversiality: 0,
body: 'test',
edited: false,
top_awarded_type: null,
downs: 0,
author_flair_css_class: null,
is_submitter: true,
collapsed: false,
author_flair_richtext: [],
author_patreon_flair: false,
body_html: '<div class="md"><p>test</p>\\n</div>',
gildings: {},
collapsed_reason: null,
distinguished: null,
associated_award: null,
stickied: false,
author_premium: false,
can_gild: true,
link_id: 't3_zrw1jv',
unrepliable_reason: null,
author_flair_text_color: null,
score_hidden: false,
permalink: '/r/OptnTools/comments/zrw1jv/test/j14vwet/',
subreddit_type: 'public',
link_permalink: '<https://www.reddit.com/r/OptnTools/comments/zrw1jv/test/>',
name: 't1_j14vwet',
author_flair_template_id: null,
subreddit_name_prefixed: 'r/OptnTools',
author_flair_text: null,
treatment_tags: [],
created: 1671646140,
created_utc: 1671646140,
awarders: [],
all_awardings: [],
locked: false,
author_flair_background_color: null,
collapsed_because_crowd_control: null,
mod_reports: [],
quarantine: false,
mod_note: null,
link_url: '<https://www.reddit.com/r/OptnTools/comments/zrw1jv/test/>'
}