Wallace Minion ๐จ๐ - a quite overloaded Discord bot
Wallace Minion is my first Rust project. It started as a way to explore the Rust ecosystem and to have something fun to play with in my private friend server.
It is still not adjusted to work in all servers, and since is uses some paid APIs, I don't currently plan on making it public. If there is enough interest, I might make a demo server where you can try it out.
Technologies
- Made with Rust ๐ฆ
- Bot hosted on Shuttle ๐
- Postgres database in Neon ๐ managed with Prisma ๐ผ queried with sqlx
- Discord framework Serenity ๐ + Songbird ๐ฆ
- APIs: OpenAI ๐ค, AWS ๐ค, 7TV ๐ธ, Riot ๐
Features
Use the !help
command to see syntax and more details about every command.
โจ AI chat with Text-to-Speech ๐ค๐
The !ai
command lets you chat with Wallace Minion, via ChatGPT (currently gpt-3.5-turbo
).
If you are in a voice channel, Wallace will join and read out the message for you using AWS Polly.
ChatGPT supports many languages.
TTS supports 21 languages (see !languages
), and will detect which language is being read (default is English).
The detected language can be overridden to make some fun accents ๐
.
ai_voice_tts.mp4
In the above video, the !ai
and !tts
command use language modifiers to narrate in a different language than the text. The !say
command detects the language from the text.
โจ Plain TTS in all supported languages ๐
!say
reads out any text in Voice. Language is auto detected, and can be modified.
!tts
does the same thing, but produces an mp3 as output instead.
โจ DALL-E image generation ๐
!dalle
generates an image from a prompt and uploads the output in Discord.
โจ Bank ๐ฆ
Some Wallace features use Kapsyler as currency.
Open an account with !account open
, check your balance with !account
,
and see the biggest earners in the server with !account top
.
Give Kapsyler to someone with !give
.
โจ Casino ๐ฐ
Totally win some Kapsyler with !roll
and !slots
.
casino.mp4
A Roulette bet of 2 on black loses. Then a roll on the slots loses.
โจ Shop and spells ๐ช๐งโโ๏ธ
Check available spells with !shop
.
โจ 7TV Emotes ๐ธ + ๐ = ?
Use !e
to search for emotes on 7TV.
The first result is pasted in chat.
โจ Cool Text ๐ท
๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ ๐๐๐ !ct
๐๐๐๐๐๐๐.
โจ Task Scheduling โฐ
Schedule a command to run in a channel with !tasks
.
Trigger one or multiple times with a cron pattern.
โจ LoL and TFT ๐ฅ
Get League of Legends and Teamfight Tactics playtime and analytics with !lol
and !tft
.