Skip to content

orsnaro/Discord-Bot-Ai

Repository files navigation

Live version badge version badge lastest pre release was

Discord Bot Project (Wizard GPTeous) Bot Status

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

wizy image


Officially 2.5.7B is out 🧙‍♂️🎊!

✨Patch (2.5.7B) detailed notes
  • ✨New Content✨: Now Wizy auto played tracks library is heavily enhanced with more than 60hour of local content on Narol's local server+ Holy quran💖

  • ✨New command✨: You can switch the auto played tracks genre via /wizymusicgenre command genres: (lofi, mmochill, holyquran, orsmix, mmoanime)

  • ✨New Feature✨: Now Wizy voice channels is more usefull e.g.(🧙🎶 Wizy-Chill): Wizy will swiftly auto join the channel and also start playing whenever any one joins his channel ! he is old but still very active.

  • All methods/classes/coroutines is Documented via a docstring

  • Refactored CustomBot class

  • Now command checks for admin perms/roles works better with most servers, not only Narol's island server!

  • Some minor bugs/typoes fixed

  • enhanced some commands error handling in commands_bot.py

  • Bump h11 from 0.14.0 to 0.16.0 by @dependabot in #23



Full Changelog: https://github.com/orsnaro/Discord-Bot-Ai/compare/V2.5.6B...v2.5.7B

Main Changes✨🧙‍♂️

  • ✨New Content✨: Now Wizy auto played tracks library is heavily enhanced with more than 60hour of local content on Narol's local server+ Holy quran💖

  • ✨New command✨: You can switch the auto played tracks genre via /wizymusicgenre command genres: (lofi, mmochill, holyquran, orsmix, mmoanime)

  • ✨New Feature✨: Now Wizy voice channels is more usefull e.g.(🧙🎶 Wizy-Chill): Wizy will swiftly auto join the channel and also start playing whenever any one joins his channel ! he is old but still very active.

  • and more! (just type /help)

Important

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

Important

Now Bot is hosted on Local orsnaro home servers(🔴)! Home-Server-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

  • implement new Gemini feature i.e.( upload image and ask about it ) in your bot since it's now available and Gemini 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 Gemini 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 Gemini_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: DeepSeek API is the one used now due to connection and belling issues beteen GPT-API i.e.(openAI API) and my country (Egypt)
  • add command to switch between Gemini mode and poe-GPT mode

    • (NOT necessary NEED any more! now Gemini speaks arabic and Gemini API python wrapper also supports that just edit your internal prompt / appendings and formating to discord messages to have arabic variation)
  • Edit your Gemini args. and prompt to send full arabic query to Gemini (Gemini 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 Gemini ( contact GeminiAPI maker or raise issue in their repo)(I was  kinda  wrong)

(DONE) show embedded links in Gemini 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




📽️ Watch The Video!

Watch the video





About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages