[{"data":1,"prerenderedAt":793},["ShallowReactive",2],{"navigation_docs":3,"-configuration-bot-config":102,"-configuration-bot-config-surround":788},[4,23,37,47,61,79,93],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Set up self-hosting","\u002Fgetting-started\u002Fself-host-setup","1.getting-started\u002F2.self-host-setup",{"title":19,"path":20,"stem":21},"Hosted setup","\u002Fgetting-started\u002Fhosted-setup","1.getting-started\u002F3.hosted-setup",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Configuration","i-lucide-settings","\u002Fconfiguration","2.configuration",[29,33],{"title":30,"path":31,"stem":32},"Bot configuration","\u002Fconfiguration\u002Fbot-config","2.configuration\u002F1.bot-config",{"title":34,"path":35,"stem":36},"Plugin configuration","\u002Fconfiguration\u002Fplugin-config","2.configuration\u002F2.plugin-config",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":22},"Commands","i-lucide-terminal","\u002Fcommands","3.commands",[43],{"title":44,"path":45,"stem":46},"Slash commands","\u002Fcommands\u002Fslash-commands","3.commands\u002F1.slash-commands",{"title":48,"icon":49,"path":50,"stem":51,"children":52,"page":22},"Monitoring","i-lucide-activity","\u002Fmonitoring","4.monitoring",[53,57],{"title":54,"path":55,"stem":56},"Expose Prometheus metrics","\u002Fmonitoring\u002Fmetrics","4.monitoring\u002F1.metrics",{"title":58,"path":59,"stem":60},"Write JSON logs","\u002Fmonitoring\u002Fjson-logs","4.monitoring\u002F2.json-logs",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":22},"Telemetry and updates","i-lucide-shield-check","\u002Fprivacy","5.privacy",[67,71,75],{"title":68,"path":69,"stem":70},"Anonymous telemetry","\u002Fprivacy\u002Ftelemetry","5.privacy\u002F1.telemetry",{"title":72,"path":73,"stem":74},"Update check","\u002Fprivacy\u002Fupdate-check","5.privacy\u002F2.update-check",{"title":76,"path":77,"stem":78},"Website analytics","\u002Fprivacy\u002Fwebsite-analytics","5.privacy\u002F3.website-analytics",{"title":80,"icon":81,"path":82,"stem":83,"children":84,"page":22},"Server setup","i-lucide-server-cog","\u002Fserver-setup","6.server-setup",[85,89],{"title":86,"path":87,"stem":88},"Setup panel","\u002Fserver-setup\u002Fsetup-panel","6.server-setup\u002F1.setup-panel",{"title":90,"path":91,"stem":92},"Game features","\u002Fserver-setup\u002Fgame-features","6.server-setup\u002F2.game-features",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":22},"FAQ","i-lucide-circle-help","\u002Ffaq","7.faq",[99],{"title":94,"path":100,"stem":101},"\u002Ffaq\u002Ffaq","7.faq\u002F1.faq",{"id":103,"title":30,"body":104,"description":781,"extension":782,"links":783,"meta":784,"navigation":785,"path":31,"seo":786,"stem":32,"__hash__":787},"docs\u002F2.configuration\u002F1.bot-config.md",{"type":105,"value":106,"toc":774},"minimark",[107,127,139,144,215,219,363,367,525,528,567,571,579,648,653,686,690,693,770],[108,109,110,111,115,116,119,120,123,124,126],"p",{},"The bot is set up in a file called ",[112,113,114],"code",{},"config.json"," inside the ",[112,117,118],{},"DiscordBot"," folder. Rename ",[112,121,122],{},"config.example.json"," to ",[112,125,114],{}," and fill in your values.",[128,129,130,131,134,135,138],"warning",{},"In a text like a folder path, write every backslash twice (",[112,132,133],{},"C:\\\\Path",") or use forward slashes (",[112,136,137],{},"C:\u002FPath","). A single backslash breaks the file.",[140,141,143],"h2",{"id":142},"required-settings","Required settings",[145,146,147,160],"table",{},[148,149,150],"thead",{},[151,152,153,157],"tr",{},[154,155,156],"th",{},"Setting",[154,158,159],{},"Meaning",[161,162,163,182,192,202],"tbody",{},[151,164,165,171],{},[166,167,168],"td",{},[112,169,170],{},"token",[166,172,173,174,181],{},"Your bot token from the ",[175,176,180],"a",{"href":177,"rel":178},"https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications",[179],"nofollow","Discord Developer Portal",".",[151,183,184,189],{},[166,185,186],{},[112,187,188],{},"clientId",[166,190,191],{},"The application ID of your Discord bot.",[151,193,194,199],{},[166,195,196],{},[112,197,198],{},"guildId",[166,200,201],{},"The ID of your Discord server.",[151,203,204,209],{},[166,205,206],{},[112,207,208],{},"secret",[166,210,211,212,181],{},"A password shared between bot and plugin. It must be identical in both. Replace the example value ",[112,213,214],{},"change-me",[140,216,218],{"id":217},"optional-settings","Optional settings",[145,220,221,232],{},[148,222,223],{},[151,224,225,227,230],{},[154,226,156],{},[154,228,229],{},"Default",[154,231,159],{},[161,233,234,249,268,283,305,324,348],{},[151,235,236,241,246],{},[166,237,238],{},[112,239,240],{},"channelIds",[166,242,243],{},[112,244,245],{},"[]",[166,247,248],{},"Backup voice channels. Used only when the bot cannot tell which channel the host is in.",[151,250,251,256,261],{},[166,252,253],{},[112,254,255],{},"botIp",[166,257,258],{},[112,259,260],{},"0.0.0.0",[166,262,263,264,267],{},"Where the bot listens for the plugin. Use ",[112,265,266],{},"localhost"," if the plugin runs on the same PC.",[151,269,270,275,280],{},[166,271,272],{},[112,273,274],{},"botPort",[166,276,277],{},[112,278,279],{},"7264",[166,281,282],{},"The port the bot listens on. It must match the plugin.",[151,284,285,290,295],{},[166,286,287],{},[112,288,289],{},"disableTelemetry",[166,291,292],{},[112,293,294],{},"false",[166,296,297,298,301,302,181],{},"Set to ",[112,299,300],{},"true"," to turn off ",[175,303,304],{"href":69},"anonymous telemetry",[151,306,307,312,316],{},[166,308,309],{},[112,310,311],{},"disableUpdateCheck",[166,313,314],{},[112,315,294],{},[166,317,297,318,320,321,181],{},[112,319,300],{}," to turn off the ",[175,322,323],{"href":73},"update check",[151,325,326,331,336],{},[166,327,328],{},[112,329,330],{},"logFormat",[166,332,333],{},[112,334,335],{},"pretty",[166,337,338,340,341,344,345,181],{},[112,339,335],{}," is the colored window. ",[112,342,343],{},"json"," is for ",[175,346,347],{"href":59},"log tools",[151,349,350,355,358],{},[166,351,352],{},[112,353,354],{},"metrics",[166,356,357],{},"off",[166,359,360,361,181],{},"Settings for ",[175,362,354],{"href":55},[140,364,366],{"id":365},"example","Example",[368,369,373],"pre",{"className":370,"code":371,"language":343,"meta":372,"style":372},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"token\": \"YOUR_BOT_TOKEN\",\n  \"clientId\": \"YOUR_CLIENT_ID\",\n  \"guildId\": \"YOUR_GUILD_ID\",\n  \"channelIds\": [],\n  \"secret\": \"replace-this-with-your-own-secret\",\n  \"botIp\": \"localhost\",\n  \"botPort\": 7264\n}\n","",[112,374,375,384,411,431,451,465,485,504,519],{"__ignoreMap":372},[376,377,380],"span",{"class":378,"line":379},"line",1,[376,381,383],{"class":382},"sMK4o","{\n",[376,385,387,390,393,396,399,402,406,408],{"class":378,"line":386},2,[376,388,389],{"class":382},"  \"",[376,391,170],{"class":392},"spNyl",[376,394,395],{"class":382},"\"",[376,397,398],{"class":382},":",[376,400,401],{"class":382}," \"",[376,403,405],{"class":404},"sfazB","YOUR_BOT_TOKEN",[376,407,395],{"class":382},[376,409,410],{"class":382},",\n",[376,412,414,416,418,420,422,424,427,429],{"class":378,"line":413},3,[376,415,389],{"class":382},[376,417,188],{"class":392},[376,419,395],{"class":382},[376,421,398],{"class":382},[376,423,401],{"class":382},[376,425,426],{"class":404},"YOUR_CLIENT_ID",[376,428,395],{"class":382},[376,430,410],{"class":382},[376,432,434,436,438,440,442,444,447,449],{"class":378,"line":433},4,[376,435,389],{"class":382},[376,437,198],{"class":392},[376,439,395],{"class":382},[376,441,398],{"class":382},[376,443,401],{"class":382},[376,445,446],{"class":404},"YOUR_GUILD_ID",[376,448,395],{"class":382},[376,450,410],{"class":382},[376,452,454,456,458,460,462],{"class":378,"line":453},5,[376,455,389],{"class":382},[376,457,240],{"class":392},[376,459,395],{"class":382},[376,461,398],{"class":382},[376,463,464],{"class":382}," [],\n",[376,466,468,470,472,474,476,478,481,483],{"class":378,"line":467},6,[376,469,389],{"class":382},[376,471,208],{"class":392},[376,473,395],{"class":382},[376,475,398],{"class":382},[376,477,401],{"class":382},[376,479,480],{"class":404},"replace-this-with-your-own-secret",[376,482,395],{"class":382},[376,484,410],{"class":382},[376,486,488,490,492,494,496,498,500,502],{"class":378,"line":487},7,[376,489,389],{"class":382},[376,491,255],{"class":392},[376,493,395],{"class":382},[376,495,398],{"class":382},[376,497,401],{"class":382},[376,499,266],{"class":404},[376,501,395],{"class":382},[376,503,410],{"class":382},[376,505,507,509,511,513,515],{"class":378,"line":506},8,[376,508,389],{"class":382},[376,510,274],{"class":392},[376,512,395],{"class":382},[376,514,398],{"class":382},[376,516,518],{"class":517},"sbssI"," 7264\n",[376,520,522],{"class":378,"line":521},9,[376,523,524],{"class":382},"}\n",[108,526,527],{},"To use the optional settings that are not in the example file, add them as extra lines:",[368,529,531],{"className":370,"code":530,"language":343,"meta":372,"style":372},"{\n  \"disableTelemetry\": true,\n  \"disableUpdateCheck\": true\n}\n",[112,532,533,537,550,563],{"__ignoreMap":372},[376,534,535],{"class":378,"line":379},[376,536,383],{"class":382},[376,538,539,541,543,545,547],{"class":378,"line":386},[376,540,389],{"class":382},[376,542,289],{"class":392},[376,544,395],{"class":382},[376,546,398],{"class":382},[376,548,549],{"class":382}," true,\n",[376,551,552,554,556,558,560],{"class":378,"line":413},[376,553,389],{"class":382},[376,555,311],{"class":392},[376,557,395],{"class":382},[376,559,398],{"class":382},[376,561,562],{"class":382}," true\n",[376,564,565],{"class":378,"line":433},[376,566,524],{"class":382},[140,568,570],{"id":569},"running-the-hosted-bot","Running the hosted bot",[572,573,574,575,578],"note",{},"This section is for operators of a hosted bot. Players use the ",[175,576,577],{"href":20},"hosted setup"," and need none of it.",[145,580,581,589],{},[148,582,583],{},[151,584,585,587],{},[154,586,156],{},[154,588,159],{},[161,590,591,617,630],{},[151,592,593,598],{},[166,594,595],{},[112,596,597],{},"mode",[166,599,600,603,604,607,608,610,611,613,614,181],{},[112,601,602],{},"self-host"," (default) or ",[112,605,606],{},"hosted",". In hosted mode ",[112,609,198],{}," and ",[112,612,208],{}," are not used, every server gets its own secret from ",[112,615,616],{},"\u002Fsetup",[151,618,619,624],{},[166,620,621],{},[112,622,623],{},"adminApi",[166,625,626,629],{},[112,627,628],{},"{ \"host\": \"127.0.0.1\", \"port\": 9465 }",". Where the admin API listens.",[151,631,632,637],{},[166,633,634],{},[112,635,636],{},"databaseUrl",[166,638,639,640,643,644,647],{},"Required in hosted mode, together with ",[112,641,642],{},"databaseDialect"," set to ",[112,645,646],{},"postgres"," (see Advanced settings).",[108,649,650,651,398],{},"Two environment variables are read besides ",[112,652,114],{},[145,654,655,664],{},[148,656,657],{},[151,658,659,662],{},[154,660,661],{},"Variable",[154,663,159],{},[161,665,666,676],{},[151,667,668,673],{},[166,669,670],{},[112,671,672],{},"ADMIN_API_TOKEN",[166,674,675],{},"Required in hosted mode, at least 32 characters. Protects the admin API.",[151,677,678,683],{},[166,679,680],{},[112,681,682],{},"HOSTED_TELEMETRY_TOKEN",[166,684,685],{},"Lets the hosted bot send telemetry to the website.",[140,687,689],{"id":688},"advanced-settings","Advanced settings",[108,691,692],{},"You can ignore these on a normal setup.",[145,694,695,705],{},[148,696,697],{},[151,698,699,701,703],{},[154,700,156],{},[154,702,229],{},[154,704,159],{},[161,706,707,726,740,755],{},[151,708,709,713,718],{},[166,710,711],{},[112,712,642],{},[166,714,715],{},[112,716,717],{},"sqlite",[166,719,720,722,723,725],{},[112,721,717],{}," stores everything in a local file. ",[112,724,646],{}," uses a database server.",[151,727,728,732,735],{},[166,729,730],{},[112,731,636],{},[166,733,734],{},"none",[166,736,737,738,181],{},"Address of the database server. Needed only for ",[112,739,646],{},[151,741,742,747,752],{},[166,743,744],{},[112,745,746],{},"sqlitePath",[166,748,749],{},[112,750,751],{},".\u002Fdata\u002Flinking.sqlite",[166,753,754],{},"Where the local database file is saved.",[151,756,757,762,767],{},[166,758,759],{},[112,760,761],{},"clusters",[166,763,764],{},[112,765,766],{},"{ \"total\": 1, \"shardsPerCluster\": 1 }",[166,768,769],{},"Splits the bot over several processes. The default is right for one server.",[771,772,773],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":372,"searchDepth":386,"depth":386,"links":775},[776,777,778,779,780],{"id":142,"depth":386,"text":143},{"id":217,"depth":386,"text":218},{"id":365,"depth":386,"text":366},{"id":569,"depth":386,"text":570},{"id":688,"depth":386,"text":689},"Every setting of the DiscordMute bot and how to change it.","md",null,{},true,{"title":30,"description":781},"P53VVeELaDCUooEbdJCcxrralBCyXBSE6Qz_WXMGfbY",[789,791],{"title":19,"path":20,"stem":21,"description":790,"children":-1},"Use the hosted DiscordMute bot. You run no bot yourself, you only add it to your server and set up the plugin.",{"title":34,"path":35,"stem":36,"description":792,"children":-1},"Every setting of the DiscordMute plugin in Among Us.",1793322109999]