Skip to content

Discord bot I'm making for use on a Japanese-English exchange server

License

Notifications You must be signed in to change notification settings

scala-steward/canti-bot

This branch is 1 commit ahead of ScoreUnder/canti-bot:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bd83eac · Feb 4, 2025
Jul 12, 2021
Oct 11, 2023
Nov 6, 2023
Oct 15, 2023
Jan 31, 2022
Jan 31, 2022
Aug 18, 2021
Oct 25, 2023
Nov 12, 2022
May 5, 2017
Aug 3, 2021
Jan 6, 2022
Feb 4, 2025

Repository files navigation

Canti bot

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.

Goals

  • 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)

Features

  • 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.

Setup

To host this bot yourself:

  1. Create your bot on the Discord developer portal
  2. Copy application.conf.example and name it application.conf
  3. Edit application.conf, filling in token with the bot's token from the developer portal. Quotes are required.
  4. Again edit application.conf, changing owner to your own Discord user ID. No quotes here.
  5. 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 with java -jar canti-bot-assembly-*.jar
  6. Done!

Can I report a bug?

Yes, use the issues page.

Permission problems

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.

About

Discord bot I'm making for use on a Japanese-English exchange server

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 100.0%