Skip to content

Discord Bot with generative AI features using python as main project language 🇵🇸

Notifications You must be signed in to change notification settings

orsnaro/Discord-Bot-Ai

Repository files navigation

Live version badge lastest pre release was Deploy-workflow-status

Discord Bot Project (Wizard GPTeous)

Discord Bot with generative AI features using python as main project language

wizy image


✨ Wizy's Latest features (v2.5B)!
  • NOW! you can use wizy In DM messages no need to be in a server that has wizy!

  • now Finally you can use Chat GPT for free via our wizy bot -video- in discord (you are also free to choose between gpt or bard though bard's API isn't stable at all!)

  • now understands your arabic messages!

  • now can enjoy Mighty GPTeuos memes using /BoringWizard command

  • now all bot commands work in slash commands menu! as well as classic commands style

  • now can learn from the Wisest on Discord's Lands using /WiseWiz command

  • now long Bard AI answers is working in 🧙Ask-the-Wizard Channel

  • now Bot sends random quotes and memes multiple times a day

  • now bot has basic voice commands e.g.(wizyjoin/wizyleave/wizyplay/wizypause/wizyresume/wizystop) commands

  • now if wizy is free in a voice channel he plays an abmient chilling music track!

  • now wizy have special events in command and channel ! current special event FREE PALESTINE 🇵🇸🍉

  • soon music/tracks queue feature!

Important

NEW release is out ( patch V2.5.6B )! Latest Release Notes

Important

Now Bot is hosted on AWS EC2 servers(🔴)! AWS-branch





🧙 How to Use Me?!

FIRST:   ✔️Invite me to a server invite link

SECOND: ✔️type /help in any Chat channel to learn my commands then use them!

FINALLY:  ✔️report me any issues!

NOTE: for now you wouldn't be able to make your own special channels e.g.( 🧙Ask-the-wizard channel ) try it in our server. If you want to add wizy(feed,voice,chat) channels to your server contact me! later on this will be available to all via a command isha

NOTE: the bot does not have any adminstration / managing / moving / etc.. permissions. though I recommend always to take a look at allowed permissions in
beta-bot invite link. feel free to sneak peak at our soucre code for any future changing of these intents/permissions💙



🛠 TODO :

⚠️ Do This BEFORE any New Features → MIGRATE TO PYCORD.py! -> discord.py is maintained Again!

⌛ in-progress
  • Documentation for functions / classes repo. first readme.md draft
  • ON-reaction feedback feature :
details when user reacts on a wizy message wizy responds depending on category of emoji (good, bad, need_help,idk) (feature name : bot ON-reaction feedback feature) (reaction response will only stay for ~5secs except responses to need_help reactions)
  • complete track/songs queue class and it's two commands look(https://stackoverflow.com/questions/61276362/how-to-play-the-next-song-after-first-finished-discord-bot)

  • tutorial video on all bot features and how to use and invite it to you server ( 2 videos short & long )

  • make command groups or cogs

  • remove any global variables

  • use logging library to print debug and testing info to console instead of print() (🔵DONE PARTIALLY)

  • to increase bot speed and avoid non-async http api requests effects -> every 48 hour or initializing of bot store new 24 memes and 24 quotes locally

  • implement new bard feature i.e.( upload image and ask about it ) in your bot since it's now available and Bard API wrapper v0.1.27 now also supports it

  • send Embeds fragmented in parts/pages if it exceeds max size  (6000char) or exceeds max fields (25 field) note: use pagination

  • show embedded images in bard answer (seperate images in links -> append them to an image section 'embed or normal message' -> show the images!)

  • wizard bot sqlite-DB design and connect the DB with bot code

  • Implement Competitive Programming Features on Bot and Narol's Island server ( more in M O D S channels in the server)

  • OOP it! and handle errors!

  • (bard)save last conversation ID (load it in init_bot.py) in text file and add command to start new conv. and set default to continue old one.

  • complete bard_key_refresh.py

  • add TTS feature : read text in audio + ability for bot to join voice chats

  • ADD STT feature to enable full voice chat feature between bot and island server's users ( make bot make real voice chat with members)

  • use Rapidapi

  • complete your quote lib fork and make it fully async.

  • add and test poe-API (starred at my GitHub)

    • NOTE: BARD API is the one used now due to connection and belling issues beteen GPT-API i.e.(openAI API) and my country (Egypt)
  • use google translator API

    • (NOT necessary NEED any more! now bard speaks arabic and bard API python wrapper also supports that just edit your internal prompt / appendings and formating to discord messages to have arabic variation)
  • Edit your bard args. and prompt to send full arabic query to bard (Bard now has arabic lang suuport)

🟢 Done

(DONE) add command to switch between BARD mode and poe-GPT mode

(DONE) converte all command to be hybrid (works in legacy style and new slash command style) -> use discord's new paradigm 'interaction based system'

(DONE) Bot Ambient track (MMO Chill music) via wizyplay

(DONE) Bot plays specific song from YouTube Music via wizyplay url

(DONE) remove all async sleep in commands and replace with cooldown inside the command itself

(DONE) Replace all your manual auto meme/quote sender logic with this (les bot event loop handle it auto!)(no need even for acync event control var):

(DONE) make message fragmenter function for both msg and links msg in utils_bot.py

(DONE) repo. first readme.md draft

(DONE) Use any free hosting service for beta versions

(DONE) connect to a cdn that has memes / quotes  and set on_time() event to send to chat-chill and Ask-the-Wizard

(DONE) make bot see prev messages (use session)

(DONE) talk to bot by mention him  

(DONE) talk to bot in specific channel no need to mention or trigger him by command just send the question as plain message

(DONE)  reply to his message (take the content of replayed message and respond accordingly to it + new message)

(DONE) use SESSION with ASYNC BARD ( contact BardAPI maker or raise issue in their repo)(I was  kinda  wrong)

(DONE) show embedded links in bard answer

(DONE) show  images in Wizard special channel

(DONE) send msg in parts is it exceeds max size in bot special channel

more todoes and tasks in discrod testing channel and in main_wizard_bot.py





Note

Active Branches lately: master and bot_pycordv2.5.xB

About

Discord Bot with generative AI features using python as main project language 🇵🇸

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages