mirror of
https://gitea.blesmrt.net/mikaela/gist.git
synced 2024-12-29 06:02:57 +01:00
235 lines
6.1 KiB
JavaScript
235 lines
6.1 KiB
JavaScript
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 <username> <password>'
|
|
// ]
|
|
//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;
|