https://github.com/ahoys/kegelink
Discord to IRC communication bot.
https://github.com/ahoys/kegelink
Last synced: 3 months ago
JSON representation
Discord to IRC communication bot.
- Host: GitHub
- URL: https://github.com/ahoys/kegelink
- Owner: ahoys
- Created: 2019-01-26T11:51:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-07T08:53:10.000Z (about 1 year ago)
- Last Synced: 2025-02-08T12:17:03.565Z (4 months ago)
- Language: TypeScript
- Size: 5.02 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# Kegelink
### A Discord to IRC communication link.
**This version is still work in progress!**
Ketsune "Gerald" Link, alias Kegelink, is a bot that's sole purpose was to connect my IRC-pal, Kegetys, to Discord. Now I've rewritten it in TypeScript for everyone's enjoyment.
## Deployment
### Requirements
- Your own server with Node.js (with npm) installed.
- A new bot initialized in [Discord's developers portal](https://discord.com/developers/applications/).
- [Invite the bot to your server.](https://discordpy.readthedocs.io/en/latest/discord.html#inviting-your-bot) The bot requires the following permissions: `send messages` and `add reactions`.### Installation
1. Download the most recent [release package](https://github.com/ahoys/kegelink/releases) and unzip it.
2. Inside the unzipped folder, update the `.env` file with your own credentials and settings. `APP_ID` is the bot's id, `APP_TOKEN` is the bot's token. `OWNER_ID` is for example your own Discord id.
3. Run `npm install --production`. After that, you can start the bot with `node kegelink`. Make sure the console states that both Discord and IRC are connected. If not, check your connection settings.### Usage
- In Discord type `@botsname help` for available commands. Read the descriptions carefully.
### Tips
- You don't have to make filters public. You can give them to the bot via a private channel.
- Only the owner is able to give commands, for security reasons.## Development
### Setting up a test IRC-server
1. [Download and install unrealircd](https://www.unrealircd.org/download) (TLS/SSL needs to be enabled in unrealircd 5, use the installer to create a self-signed certs.)
2. [Download test server -configs](https://github.com/ahoys/kegelink/blob/master/assets/unrealircd.conf)
3. Place the downloaded configs to `...\UnrealIRCd 5\conf`
4. Start the UnrealIRCd server (via start menu or alike)
5. Make sure you have a `.dev.env` file set. Use the `.env` file as a template.The example UnrealIRCd config starts the server with the following settings:
```
ip: 127.0.0.1
port: 6667
password: password
```Here's an example for the `.dev.env`:
```
# Discord specific configs.
APP_TOKEN=replace_me
APP_ID=replace_me
OWNER_ID=replace_me
# IRC specific configs.
IRC_SERVER=127.0.0.1
IRC_PORT=6667
IRC_PASSWORD=password
IRC_NICKNAME=Kegelink
IRC_USERNAME=Kegelink
IRC_REAL_NAME=Kegelink
IRC_ENCODING=utf-8
IRC_RETRY_DELAY=5120
IRC_SECURE=false
IRC_SELF_SIGNED=false
```