LilyWhiteBot is a open source relay bot that supports IRC, Telegram, Discord and Tencent QQ/WeChat (Needs to be modified according to the WeChat handle) ## Requirements - Node.js 14 - Git - Vi support UTF-8 ## Installation and configuration $ cd ~ $ mkdir LilyWhiteBot It will make a dir called LilyWhiteBot (I'm forking it to make it easily to config.) on your home dir. $ cd ~/LilyWhiteBot $ git clone https://github.com/fossifer/LilyWhiteBot.git After you had download, change the bot config. $ cd LilyWhiteBot $ vi config.example.yml ### Branch - Telegram Bot API Search [@BotFather](/https://t.me/Botfather) on your Telegram APP, send /start before you did it. You will recevie a message about how to use from BotFather. Send `/newbot` to create a new bot on Telegram. ### Branch - Discord Bot API Visit [Discord Dev](/https://discordapp.com/developers/applications/),after, click New Application.(Remember CLIENT ID) Click your New Application, click add bot. Get invite link from OAuth2. If you have read API guide, please keep token properly. $ vi config.example.yml And Change: Telegram: Disable: false IRC: Disable: false It will able Telegram and IRC. Change the following content is taken from the source file: IRC: bot: server: irc.libera.chat nick: "SuzerainBot" userName: "SuzerainBot" realName: "SuzerainBot" channels: ["#hi", "#ircnow"] sasl: true sasl_password: "Nickname Passwd" It will set a bot nickname called SuzerainBot running on Libera and will auto join #hi,#ircnow channels use password Nickname Passwd for login. The configuration methods for Telegram and Discord are also the same, but please be careful **not** to configure Telegram Proxy. And **DO NOT** change anything of QQ, you can't running true at now. Example: Telegram: disabled: false bot: name: "SuzerainBot" token: "123456789:q234fipjfjaewkflASDFASjaslkdf" timeout: 30 limit: 100 Discord: disabled: false bot: token: "AASdjklsfjldf.sdjfh;sajksdfjie.shdfjs" options: nickStyle: nickname useProxyURL: false relayEmoji: false #for save system resources, not forward emoji pictures, only forward the corresponding emoji ### Group Configuration After setting the basic information of the robot correctly, we need specify which groups/channels the bot will work in. Search groups: on config.yml. Usage: irc/#Channel telegram/-Group ID discord/Channel ID **NOT** Server ID Example: - ['irc/#hi', 'telegram/-12345678'] It will enable a bridge from irc channel #hi to a Telegram Group of id is 12345678. ## Running Bot when you've done all the work, do: $ cd ~ $ cd ~/LilyWhiteBot/ $ mv config.example.yml config.yml $ doas npm install $ doas node main.js By now, it should have started working. Congratulate!