Skip to content
Extraits de code Groupes Projets
Valider a7adca97 rédigé par Tadeusz Sośnierz's avatar Tadeusz Sośnierz
Parcourir les fichiers

Make invalid token message configurable

parent 7b02c4f1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -40,6 +40,8 @@ bridge:
determineCodeLanguage: false
# MXID of an admin user that will be PMd if the bridge experiences problems. Optional
adminMxid: '@admin:localhost'
# The message to send to the bridge admin if the Discord token is not valid
invalidTokenMessage: 'Your Discord bot token seems to be invalid, and the bridge cannot function. Please update it in your bridge settings and restart the bridge'
# Authentication configuration for the discord bot.
auth:
# This MUST be a string (wrapped in quotes)
......
......@@ -101,6 +101,7 @@ class DiscordBridgeConfigBridge {
public activityTracker: UserActivityTrackerConfig = UserActivityTrackerConfig.DEFAULT;
public userLimit: number|null = null;
public adminMxid: string|null = null;
public invalidTokenMessage: string = 'Your Discord token is invalid';
}
export class DiscordBridgeConfigDatabase {
......
......@@ -215,7 +215,7 @@ async function run(): Promise<void> {
roomhandler.bindThirdparty();
try {
await startDiscordBot(discordbot, appservice.botClient, config.bridge.adminMxid);
await startDiscordBot(discordbot, appservice.botClient, config);
log.info("Discordbot started successfully");
} catch (err) {
log.error(err);
......@@ -271,17 +271,19 @@ async function notifyBridgeAdmin(client: MatrixClient, adminMxid: string, messag
let adminNotified = false;
async function startDiscordBot(
discordbot: DiscordBot,
client: MatrixClient,
adminMxid: string|null,
discordbot: DiscordBot,
client: MatrixClient,
config: DiscordBridgeConfig,
falloffSeconds = 5
) {
const adminMxid = config.bridge.adminMxid;
try {
await discordbot.init();
await discordbot.run();
} catch (err) {
if (err.code === 'TOKEN_INVALID' && adminMxid && !adminNotified) {
await notifyBridgeAdmin(client, adminMxid, `Your Discord bot token seems to be invalid, and the bridge cannot function. Please update it in your bridge settings and restart the bridge`);
await notifyBridgeAdmin(client, adminMxid, config.bridge.invalidTokenMessage);
adminNotified = true;
}
......@@ -289,7 +291,7 @@ async function startDiscordBot(
const newFalloffSeconds = Math.min(falloffSeconds * 2, 5 * 60);
log.error(`Failed do start Discordbot: ${err.code}. Will try again in ${newFalloffSeconds} seconds`);
await new Promise((r, _) => setTimeout(r, newFalloffSeconds * 1000));
return startDiscordBot(discordbot, client, adminMxid, newFalloffSeconds);
return startDiscordBot(discordbot, client, config, newFalloffSeconds);
}
if (adminMxid && adminNotified) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter