Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zachbr/Dis4IRC

Repository files navigation

Dis4IRC

A modern Discord <-> IRC Bridge

Published under the MIT License.

Features

  • Markdown and Modern IRC Client Features
  • Paste support for long messages
  • Channel Join/Quit broadcasts
  • Discord webhook support
  • Non-prefixed messages for other IRC bots to handle
  • IRC anti-ping zero width character in usernames
  • User, channel, role, and emote mentions
  • Sticker and emote support (as images or animated viewer)
  • Reply bridging with context

Getting Started

Please see the Getting Started page.

Downloads

  • Release versions can be found on GitHub releases.
  • The latest build from source can be found as a GitHub actions artifact.
    • Users authenticated with GitHub can access builds here.
    • Unauthenticated users can access the latest version here.

Docker/Container

Releases are also available as container images. Each release version gets a tag as well as:

  • latest: always tracks the current release version.
  • edge: tracks the primary development branch.

Example Config

# Dis4IRC Configuration File
# A list of bridges that Dis4IRC should start up
# Each bridge can bridge multiple channels between a single IRC and Discord Server
bridges {
 # A bridge is a single bridged connection operating in its own space away from all the other bridges
 # Most people will only need this one default bridge
 default {
 # Relay joins, quits, parts, and kicks
 announce-joins-and-quits=false
 # Relay extra verbose information you don't really need like topics and mode changes.
 announce-extras=false
 # Mappings are the channel <-> channel bridging configurations
 channel-mappings {
 "712345611123456811"="#bridgedChannel"
 }
 # Your discord API key you registered your bot with
 discord-api-key="NTjhWZj1MTq0L10gMDU0MSQ1.Zpj02g.4QiWlNw9W5xd150qXsC3e-oc156"
 # Match a channel id to a webhook URL to enable webhooks for that channel
 discord-webhooks {
 "712345611123456811"="https://discordapp.com/api/webhooks/712345611123456811/blahblahurl"
 }
 # Discord-specific configuration options
 discord-options {
 # Descriptor text to show in the client. An empty string will show nothing. This may not update immediately.
 activity-desc=IRC
 # Activity type to report to Discord clients. Acceptable values are DEFAULT, LISTENING, STREAMING, WATCHING, COMPETING
 activity-type=DEFAULT
 # Additional URL field used by certain activity types. Restricted to certain URLs depending on the activity type.
 activity-url=""
 # Online status indicator. Acceptable values are ONLINE, IDLE, DO_NOT_DISTURB, INVISIBLE
 online-status=ONLINE
 }
 commands {
 pinned {
 enabled="true"
 }
 stats {
 enabled="true"
 }
 }
 # Configuration for connecting to the IRC server
 irc {
 anti-ping=true
 nickname=TestBridge2
 # Messages that match this regular expression will be passed to IRC without a user prefix
 no-prefix-regex="^\\.[A-Za-z0-9]"
 # Sets the max context length to use for messages that are Discord replies. 0 to disable.
 discord-reply-context-limit=90
 # A list of __raw__ irc messages to send
 init-commands-list=[
 "PRIVMSG NICKSERV info",
 "PRIVMSG NICKSERV help"
 ]
 port="6697"
 realname=BridgeBot
 send-discord-embeds=true
 server="irc.esper.net"
 # Controls whether bridged nicknames will use color
 use-nickname-colors=true
 use-ssl=true
 username=BridgeBot
 }
 mutators {
 paste-service {
 max-message-length=450
 max-new-lines=4
 # Number of days before paste expires. Use 0 to never expire.
 paste-expiration-in-days=7
 }
 }
 }
}
debug-logging=true

Obligatory

xkcd #1782

The Name

The name is a typo of a typo of a bad idea of a misspoken phrase. Let's just not go there :p

Built using

AltStyle によって変換されたページ (->オリジナル) /