A small Discord bot intended for a certain Japanese-English language exchange server. Its name comes from Canti, a (robot) character from FLCL.
The bot is running as Canti#0181 (309878089746219008). You can invite it to your server here.
- Robustness
- Ease-of-use for people who are not technically inclined (where possible)
- Lack of feature overlap with other major bots (e.g. if the feature exists in Mee6, Tatsumaki, Nadeko, TypicalBot, etc. then it probably won't find its way here)
- Voice roles. Non-deafened non-AFK voice chat users get a role, which you may or may not want to colour or hoist. Intended to liven up voice chats on our server and it worked!
- User-owned voice chats. Users can create their own voice channels (which disappear when empty). Useful for breaking up larger rooms into more comfortable small rooms, or for groups to split based on which game they're in.
- Voice vote-kick. Lets voice chat users take matters into their own hands without waiting for a moderator if someone is disrupting them.
- Message quoting. Using a message ID or message link, the bot can retrieve and embed another message. This can let you recall a question to answer it in context, for example.
- Furigana rendering. Using the
&furigana
or&reading
command, the bot can draw furigana above kanji. - ID resolving by name. Roles, users and emoji can be searched for with the
&find
command. - Spoilers. This was from before Discord offered that functionality, so not very useful right now.
To host this bot yourself:
- Create your bot on the Discord developer portal
- Copy
application.conf.example
and name itapplication.conf
- Edit
application.conf
, filling intoken
with the bot's token from the developer portal. Quotes are required. - Again edit
application.conf
, changingowner
to your own Discord user ID. No quotes here. - Run the bot with
sbt run
. If you don't have scala and sbt installed, you can instead download the jar from the releases page and run it withjava -jar canti-bot-assembly-*.jar
- Done!
Yes, use the issues page.
The private voice chat commands attempt to copy the permissions from the category, so if Canti reports a permission error every time someone runs &private
or &public
, check all permissions on the category. Any "deny" rules that apply to Canti (e.g. @everyone
permissions) which would remove "manage channel", "move voice member" or similar permissions should be counteracted with a permission override for Canti on that category which enables those permissions.
Due to discord's new permission hierarchy for channel creation, it may also be necessary to enable some other permissions for Canti, e.g. if there are users who are allowed or denied the "deafen others" permission on the category, you may also need to allow Canti that permission.