/** @format */ var config = {}; module.exports = config; ///////////////////// // General config // ///////////////////// // verbosity of console output // possible options from most to least verbose: // silly, debug, verbose, info, warn, error config.logLevel = "error"; // paste the bot API token you got from BotFather here: config.tgToken = "CENSORED"; // only relay IRC events present in array // possible values include: // message, notice, action, topic, join, part, kick, quit config.relayIRCEvents = ["message", "notice", "action", "kick"]; // enable HTTP server which hosts sent media files, links to files are // forwarded to IRC config.showMedia = true; // Convert these media files to other types using the "convert" command. // To be able to convert from WebP, install imagemagick and the dwebp tool // (e.g. sudo apt install imagemagick webp) config.mediaConversions = { //'webp': 'png' }; // Add some randomness to url when relaying media // Use 0 to disable config.mediaRandomLength = 10; // Age in seconds after which a Telegram message is not relayed, this prevents // spamming the IRC channel if your bot was offline for a long time config.maxMsgAge = 60; // HTTP server port config.httpPort = 9090; // HTTP server location, URLs are generated from this //config.httpLocation = 'http://149.202.119.142' + ':' + config.httpPort; //config.httpLocation = 'https://3das7vpgt73yxclb6agz4sz2a2bt7bqqfjucjhhbb5jnndxcd4o4lfid.onion'; config.httpLocation = "https://af42kgggd3mfqvgy.tor2web.io"; // Upload sent photos to Imgur, links to Imgur uploads are // forwared to IRC config.uploadToImgur = false; // Imgur client id required for uploading photos to Imgur config.imgurClientId = "YOUR-CLIENT-ID"; // Whether to allow sending messages to IRC without nick prefix config.allowCommands = true; ////////////////// // IRC config // ////////////////// // Colorizes nicks config.nickcolor = false; // Nick color palette config.palette = [ "white", "silver", "navy", "green", "red", "brown", "purple", "olive", "yellow", "lime", "teal", "cyan", "pink", "blue", ]; // If soloUse is true, send all messages without username preview, intented // to use telegram as a limited IRC client. config.soloUse = false; // formatting of Telegram usernames on IRC. // the following placeholders are available: // // - %firstName% (first name of sender) // - %lastName% (last name of sender) // - %username% (optional Telegram username of sender) config.nameFormat = "%username%"; // fallback format string for %username% if sender lacks username config.usernameFallbackFormat = "%firstName% (MISSING @USERNAME! telegram.org/faq#usernames-and-t-me)"; // Replace newline characters in Telegram messages with this string before // relaying them to IRC, prevents flood from long messages. // // Tip: you can set this to \n if you want them as separate messages on IRC config.replaceNewlines = " … "; config.ircNick = "T4"; //config.ircServer = 'chat.freenode.net'; config.ircServer = "127.0.0.1"; // array of commands to send to IRC server as soon as we're connected, // example: config.ircPerformCmds = [ // 'PRIVMSG Q@CServe.quakenet.org :AUTH ' // ] //config.ircPerformCmds = ['NICKSERV identify T4 CENSORED', 'NICKSERV regain T4', 'mode T4 -i+RQ']; config.ircPerformCmds = ["ZNC *perform execute"]; config.channels = [ // example of a barebones IRC channel: // '#channel1' will be bridged to a Telegram group called 'Tg_Group_1' { ircChan: "##Mikaela", tgGroup: "##Mikaela", }, { ircChan: "#nemomobile", tgGroup: "NemoMobile", }, //{ // ircChan: '#akunapu', // tgGroup: 'akunapu' // tgGroup: 'Akun apu ja #akubuntu' // }, { ircChan: "#mer-meeting", tgGroup: "Mer-meeting", tgGroupReadOnly: true, }, { ircChan: "#jollafanclub", tgGroup: "Sailfish OS Fan Club", }, { ircChan: "#sailfishos-porters", tgGroup: "Sailfish OS Porters", }, { ircChan: "#sailfish-hackclub-hki", tgGroup: "Sailfish Hackclub Helsinki", }, { ircChan: "##castellano", tgGroup: "##castellano", }, { ircChan: "T4", tgGroup: "SPAM-TELEIRC-PRIVAT", tgGroupReadOnly: true, }, { ircChan: "*", tgGroup: "SPAM-TELEIRC-PRIVAT", tgGroupReadOnly: true, }, ]; // example of a readOnly IRC channel and Telegram Group: /* { ircChan: '#channel3', ircChanReadOnly: true, // if true, irc can not send to telegram ircChanOverrideReadOnly: false, // if true, override readonly by highlighting the bot tgGroup: 'Tg_Group_3', tgGroupReadOnly: true, // if true, telegram can not send to irc tgGroupOverrideReadOnly: true, // if true, override readonly by highlighting the bot }, // example of an IRC channel with an alias: // channel name will be displayed as '!channel3' instead of '!XXXXXchannel3' { ircChan: '!XXXXXchannel3', chanAlias: '!channel3', tgGroup: 'Tg_Group_3' } ]; */ // see https://node-irc.readthedocs.org/en/latest/API.html#client for // documentation config.ircOptions = { userName: "T4", realName: "mailto:pikaviestimet+FreTGRelay@piraattipuolue.fi", port: 5621, localAddress: null, showErrors: true, autoRejoin: true, autoConnect: true, channels: [], // auto generated, do not touch secure: false, selfSigned: false, certExpired: false, floodProtection: true, floodProtectionDelay: 1000, sasl: false, stripColors: true, channelPrefixes: "&#!", messageSplit: 512, encoding: "", //password: 'CENSORED' password: "CENSORED", }; // the default hilight regexp will match lines containing the bot nick, or // lines starting with '! ' var regex = "^ *(?:" + config.ircNick + "[:,]?|!) +(.*\\S.*)$"; config.hlRegexp = new RegExp(regex, "i"); // if there was a match, should we only show the parenthesized substring match? // with the default regexp this would hide the bot nickname in messages when // highlighted config.hlOnlyShowMatch = false; // put action messages (posted with /me in IRC) between '*' config.emphasizeAction = true; // automatically added by config upgrade: config.replySnippetLength = 46; config.relayEdited = true;