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;