Skip to main content

A Discord wrapper for miniirc.

Project description


Available on PyPI.

A wrapper for miniirc (GitHub, GitLab) to allow bots or clients made in miniirc to connect to (proprietary) Discord servers via with minimal code changes.

How to use

To use miniirc_discord, you already need to know how to use miniirc (GitHub, GitLab). Instead of creating a miniirc.IRC object, however, you need to use miniirc_discord.Discord. This is very similar, however has some differences:

  • ip is now your Discord token (see this guide to get one). You should use this as a positional argument (miniirc_discord.Discord('TOKEN')).
  • port, nick, ident and realname are currently ignored, however still need to be the expected type (port should be 0 or 65536).
  • There is a stateless_mode keyword argument.
  • The discord_client attribute returns an instance of discord.Client, or None if stateless_mode is enabled.

Channels will start in # if they are public and are currently just a channel ID.

Some formatting from IRC to Discord should be translated nicely, however more complex codes and formatting from Discord to IRC are currently not.

Stateless mode

Stateless mode will instruct to disable the user cache. This should be used if you are not using discord_client to cut back on RAM usage.

Supported commands


PRIVMSG operates like you'd expect and IRC formatting codes are converted to markdown. You cannot, however, send messages to a channel before the bot has received a message from the channel.


This works similarly to PRIVMSG, except the CTCP ACTION is also converted to a Discord /me.


Before miniirc_discord 0.5.0, NOTICE is an alias for PRIVMSG.

NOTICE adds nice embeds into Discord, while remaining as compatible as possible with IRC. You can set the IRCv3 client tag to set the embed title (note that this will not be displayed on IRC), and add an IRC colour/color code to the start of the line to set the embed colour/color. Only codes 0 to 9 are currently supported, and using leading zeroes (03 or 05) will break.


AWAY will set the bot's "Playing" text. If you want to change the prefix to something else, you can set the IRCv3 client tag to (Playing, Streaming, Listening to or Watching). The tag can be set to 'online', 'idle', 'dnd' or 'invisible'.

Installation and setting up

You can install miniirc_discord with pip. On Linux-based systems, you would do sudo pip3 install miniirc_discord. Version numbers should follow SemVer since 0.4.0 and are no longer in sync with miniirc until miniirc_discord becomes more stable.

Manual installation

To install miniirc_discord manually, you can usually place it in the same directory as your other .py files or in a package directory.

You will need to install the following dependencies (normally with pip3):

  • miniirc

Getting a bot token

To get a Discord bot token and invite link, see this guide.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miniirc_discord-0.5.18.tar.gz (6.3 kB view hashes)

Uploaded source

Built Distribution

miniirc_discord-0.5.18-py3-none-any.whl (7.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page