Skip to content
This repository was archived by the owner on Feb 8, 2026. It is now read-only.

Releases: bllackbull/SayehBot

SayehBot@1.7.2

Choose a tag to compare

@bllackbull bllackbull released this 12 Feb 17:29
c25f112

SayehAI

Introducing SayehAI, an LLM Artificial Intelligence powered by Cloudflare's worker AI.

  • New: Use /ask to start a conversation with SayehAI.
  • New: Users can now chat with SayehBot in its Discord direct messages and receive answers from SayehAI.

Developer's Note: Here are some more information about SayehAI that are worth mentioning:

  • SayehAI is free to use to all users in v1.7.2 but it has a limit of 2,000 tokens per day.
  • SayehAI remembers the last 20 chats it had with a user.
  • SayehAI can understand and speak all languages. But it cannot answer in Persian and Arabic for now and it will answer the user in English in case the user asked in one of those mentioned languages.

Notifications System

SayehBot will now connect to SayehAPI and will listen to changes on the API to send notifications as soon as possible.

  • New: Use /refresh to manually refresh the SayehAPI data. (Moderators Only)

Developer's Note: SayehBot will fallback to listening to changes on SayehAPI using fetch method for every 5 minutes in case it gets disconnected from SayehAPI.

Leveling System

  • The XP scaling system has been reworked and rebalanced.
  • Users who are muted will receive 50% less Voice XP now.
  • Users who are deafen or not online won't receive any Voice XP.

Music System

  • New: Use /removetrack to remove a track from queue.
  • New: Use /forceplay to add a track in the first position in queue and skip the current track.
  • New: Use /move to change a track position in the queue.
  • Source option has been added to some music commands to choose one specific source to search in.
  • Track titles will be shown in cleaner way now.

Bot Management System

  • New: Use /pm2 to perform pm2 actions directly from discord. (Moderators Only)
  • /simulate has been renamed to /test and now has birthday option to test.
  • /events has been updated to have playerStart option. Disabling this option will prevent SayehBot from sending track message whenever a new track starts playing.
  • /info shows WebSocket connection status now to show if SayehBot is connected to SayehAPI or not.

Miscellaneous

  • warn author message context menu option will not be shown to non-moderator users anymore.
  • Double and Surrender buttons have been added to /blackjack .
  • Anything other than YouTube URLs are banned in self-promo channel now.
  • /youtube now also includes Channel Id.
  • /steam store now longer crashes if How Long to Beat data is not available.
  • Custom emojis have been added to the bot and page reaction emojis are changed.
  • /social has been updated.
  • birthday profiles now include their own guildId object. (Closes #5)

More Information

SayehBot@1.7.1

Choose a tag to compare

@bllackbull bllackbull released this 09 Aug 13:48
887c347

Leveling System

The whole leveling system has been reworked. Here are the highlighted changes:

  • New: /xp has been reworked and renamed to /adjust.
  • New: Use /xp to change the XP rate of a server. (mods only)
  • Maximum level increased from 60 to 70.
  • XP requirements for each level from 1 to 70 have been changed.
  • Users will no longer get random amount of XP. Instead, they will receive a specific amount of XP which will scale based on their level.
  • /roll XP cooldown has been reduced from 30 to 10 sec.
  • Messages and interactions XP now have a 10 sec cooldown to avoid spamming.
  • Voice channel XP will no longer be granted whenever a user leaves a voice channel. Users will now receive voice channel XP every 20 mins as long as they are in a voice channel.
  • /leaderboard has been updated and fixed.
  • Leveling profiles of users who leave the server will now be removed from the database.

Music System

  • /favorite play will now skip the tracks which the player is not able to play.
  • Fixed a bug that could cause a problem when 2 tracks are added to the queue at the same time.
  • /filter will not be available if the current track is longer than 10 mins.
  • Some new player error handlers have been implanted.

Warning System

  • "Reason" field has been added to warning system for more clarity. Every warning activity includes a reason now and the reason will be sent to the warned user, too.
  • /warn has been updated and now has a "reason" option.

Bot Management System

  • New: Use /set to configure a specific channel for each event. (mods only)
  • /system has been removed and merged with /info. /info also shows specific channels of each event.
  • /setwelcome has been removed.

Miscellaneous

  • New: Use /blackjack to play a round of blackjack with SayehBot. Users will win or lose XP by playing this game.
  • /finger has been renamed to /flip.
  • /commands has been updated to show the commands sorted alphabetically. (Ascending)
  • Bookmark button and favorite view buttons are now usable for multiple times.
  • Stream notification is now expected to not keep updating the message when there is no need to. (closes #7)
  • Fixed a bug with birthday announcements which could show the age of the user incorrectly.
  • Some embed footers have been removed for more clarity.
  • Nonmusical interactions will no longer be removed. They will be deleted only if the process was unsuccessful.

More Information

SayehBot@1.7.0

Choose a tag to compare

@bllackbull bllackbull released this 31 May 22:26
1720e97

New Features

Warning System:

  • /warn: Warn a user. (mods only)
  • warn author: Context menu option to warn the author of a message. (mods only)
  • /warnlist: See a list of warned users. (mods only)
  • /clearwarns: Clear warn records of a user. (mods only)
  • /warnrecord: Check your warning records.

Developer's Note: SayehBot will automatically punish a warned user. The warned user will also receive a direct message from SayehBot to be notified that they have been warned, the punishment they are facing, and what punishment they will face if they receive another warning. The level of this punishment depends on the number of warnings received and is as follows:

  • 1st Warning: warning message
  • 2nd Warning: 1 minute timeout
  • 3rd Warning: 10 minutes timeout
  • 4th Warning: 30 minutes timeout
  • 5th Warning: 1 hour timeout
  • 6th Warning: 5 hours timeout
  • 7th Warning: 12 hours timeout
  • 8th Warning: 1 day timeout
  • 9th Warning: 3 days timeout
  • 10th Warnings and more: 1 week timeout

Bot Management System:

  • /presence: Customize the presence of the bot. (mods only)
  • /profile: Customize avatar and banner images of the bot. (mods only)
  • /events: Enable or disable an event. (mods only)

Developer's Note: By disabling an event, that event will no longer trigger anything. For example, by disabling the "Stream" event, SayehBot will no longer send a Twitch notification when a channel on Twitch goes live. You can enable it back at anytime with ease. Currently supported events by this feature are: "Welcome" , "Leave" , "Boost" , "Birthday" , "Stream" , "Video" , "Level" and "Moderation" .

  • /info: Get info about SayehBot's crucial package versions, uptime and status of events. (mods only)
  • /simulate: Simulate an event trigger. (mods only)

Miscellaneous:

  • /overwatch: Get overwatch stats of a player with their battletag.
  • /youtube: Get info and latest 5 videos of a YouTube channel.
  • /case: Get info about a report case with case-id. (mods only)
  • /delete: Delete a specific message in a channel with message-id. (mods only)
  • /scanurl: Scan a url for viruses to ensure it is safe.
  • /qr: Create a QR code with a URL or a phrase.
  • /commands: Get a list of available command and their descriptions.

Reworks and Updates

Reporting System:

  • Report cases now also include channel-id , action taken and more for increased clarity.
  • Delete reaction and Ban reaction has been added to report message to perform actions on reported users more easily.
  • SayehBot will notify the reporter whenever a report case is closed and will share what actions have been taken based on their report.

Moderation System:

  • SayehBot can now detect URLs in message contents and scan them for viruses. Messages will be deleted if the URL scan is positive even if the author is a moderator. Non-moderator authors will be warned.
  • Non-moderator users are not allowed to send a discord link or mention everyone. SayehBot will delete the message that defy this rule and warn the author.
  • Non-moderator users who use banned words or send links where they are not supposed to, will be warned.

Notifications:

  • Twitch notification system has been reworked. It's now expected to trigger within 30 seconds when a Twitch channel goes live without any duplication.
  • Welcome and YouTube notifications have been updated and are expected to not be duplicated.
  • A YouTube presence has been added and will be shown for a short duration whenever a new video is uploaded.

Game commands:

  • /steam has been updated:
    • Turkish and Argentinian currencies are removed from /steam market options.
    • Revenue info is added to /steam market which will indicate the price of an item without the Steam tax.
    • Main story info is added to /steam store which will indicate the amount of time needed to complete the main story of a game.
  • /wow and wow context menu option are updated and fixed.
  • /roll has been reworked:
    • Users can specify custom minimum and maximum numbers.
    • Users can guess their upcoming roll to win 10,000 XP! (1 -100 only)
    • /roll has a 100% guaranteed win or lose XP chance, but has a 30 second cooldown.
  • Save Profile System has been updated and renamed to Bookmark System.

XP and Leveling System:

  • Sub tier 1 XP boost has been increased from 20% to 25%.
  • Boosting server will now add a 50% XP boost to whatever XP boost you currently have.
  • Every 20 minutes connected to a voice channel will reward you an amount of XP. This number is equal to the number of XP you would get by sending a message.
  • Every command execution will reward you an amount of XP. This number is equal to the number of XP you would get by sending a message. (except /roll)

Music System:

  • Auto complete will no longer work if you input a playlist URL.
  • /favorite view will now work faster.

Developer's Note: Due to this change, old favorite playlist tracks might be labeled as "undefined" in /favorite view. To address this issue, remove and then add again those tracks.

  • lyrics button has been replaced by shuffle button in music embeds.
  • Vote skip event has been updated. This event will now trigger whenever a non-moderator user tries to skip in a voice channel where at least two users are connected.
  • previous button will now replay the current track instead of going back if the current track has been playing for more than 10 seconds. (Was 30 sec before)
  • SayehBot can now detect live tracks, and their duration will now be labeled as "LIVE". Some music features will not be available when a live track is playing.
  • /song has been renamed to /current.

Miscellaneous:

  • /ping has been updated to show SayehBot's host server's average ping. The default target server to get ping is 4.2.2.4 but you can input any target server you want.
  • /weather has been reworked and fixed.
  • All of embed thumbnails, footers, colors and more have been changed.
  • Welcome and rank cards background images now have a slight blur for easier reading.
  • /social has been updated.
  • /help has been updated.
  • All command descriptions have been updated and now include tags for clarity.
  • Readme has been updated

Removals

  • /queue page option has been removed for more simplicity.
  • /apex and get apex data context menu option have been temporarily removed.
  • /currency has been temporarily removed.
  • Users are not able to play a track by sending a query in music channel anymore for more simplicity.

More Information

SayehBot@1.6.5

Choose a tag to compare

@bllackbull bllackbull released this 05 Nov 15:36

This update contains 51 changes.

Breaking Changes

  • Introducing Voting system. Some music commands and buttons will trigger voting phase event when the user doesn't have a required permission.
  • /autoplay has been merged into /repeat. Autoplay is now an option in /repeat.
  • /jump has been merged into /skip. Inputting a track position to skip to, is now a not-required option in /skip.
  • replay button has been replaced by previous button.
  • previous button behavior has been changed. It will now replay the current track instead of skipping to the previous track in a situation where more than 30 seconds of the current track has been already played.
  • /favorite has been completely rewritten and divided into some sub commands:

/favorite add has been added to add a track into your favorite playlist.
/favorite view has been optimized to show a favorite playlist faster.
/favorite play and user favorite has been optimized to work faster.
play button and favorite button has been added to some favorite embeds.

  • New: Use /system to get info about CPU and ram usage of bot's host server.

Technical Changes

  • Player start event has been updated and now works with favorite tracks too. This event now will not work when a repeat mode is active on the queue.
  • New functions in separated files have been added to optimize the bot to work faster. Due to this change music files length has been reduced. Here are the new files:

Searching track, Bot responses deletion, some lyrics managements, Music embeds creations, Player database, Favorite, Reaction, Skipping and autocomplete response processes will now be handled in separated files to optimize the bot.

  • /leave now requires a permission to be visible again.
  • A new handler has been added to handle intervals when the bot is reconnecting.
  • /search has been optimized to work faster.
  • Readme has been updated.

Notifications Changes

  • Notification messages are changed. They will now be sent once and edited then.

Visual Changes

  • Some music commands behaviors are changed for a situation when queue is paused.
  • A problem with /previous and previous button has been fixed.
  • A problem with /skip and skip button has been fixed and optimized.
  • A problem with /filter has been fixed and optimized.
  • A reaction has been added to /shuffle to shuffle the queue.
  • A reaction has been added to /repeat and /queue to toggle repeat mode of the queue.
  • /queue has been completely rewritten and optimized. Some information about filters enabled and repeat mode on the queue will now be displayed in queue embed.
  • All music embeds titles, thumbnails, colors and footers have been updated.
  • Smart play feature will now be triggered with /plays , /played and /playing.
  • Some music commands descriptions have been edited.
  • /help has been updated.

SayehBot@1.6.4

Choose a tag to compare

@bllackbull bllackbull released this 09 Oct 21:26

This update contains 45 changes.

Breaking Changes

  • Playlist embeds now have buttons. They also show data about first track of their playlist and users can interact with buttons on them.
  • New: Use /replay and replay button to replay the currently playing track back from the top.
  • /search now has buttons. It has also been optimized to work faster.

Technical Changes

  • A new event has been added to force clear intervals.
  • New error embeds are added to music commands to warn users about restricted track error, third-party package failure and more.
  • Download button has been completely removed.
  • New functions in separated files have been added to optimize the bot to work faster. Due to this change music files length has been reduced. Here are the new files:

Error embeds will now be handled in a separated file to optimize the bot.
Queue creation process will now be handled in a separate file to optimize the bot.
Music embeds footers will now be handled in a separate file to optimize the bot.
Music buttons creation process will now be handled in a separate file to optimize the bot.

  • A bug with /favorite which didn't allow users to remove a track from their own playlist has been fixed.
  • ytdl-core package has been replaced with @distube/ytdl-core package.
  • Readme has been updated.

Notifications Changes

  • Interval timer of some notifications has been increased to avoid duplicated messages.

Visual Changes

  • /filter has been updated. Now users are able to interact with filter menu multiple times within one embed.
  • Favorite playlist embeds icon has been changed.
  • /lyrics and lyrics button have been updated. Lyrics will no longer be cut off mid-sentence when they are shown in multiple pages.
  • /social has been updated. Instagram section has been returned and Kick.com section has been added to their embed.
  • /help has been updated.
  • A bug with /skip which didn't show the correct footer for tracks from Apple music source has been fixed.
  • /repeat now doesn't have reaction when it's triggered to turn repeat mode off.

SayehBot@1.6.3

Choose a tag to compare

@bllackbull bllackbull released this 27 Sep 14:24

This update contains 37 changes.

Breaking Changes

  • /playlist has been merged into /play. Users are now able to add playlists with /play.
  • Music message system has been reworked. In spite of the ability to add tracks to queue with slash commands and sending query in music channel, Users are now able to add tracks to queue with /p message command.

Technical Changes

  • The duplicate triggering problem of some events are expected to be solved with the new method of handling them.

Developer Note: I'm using Set() method to handle these events in a new way and giving them additional cooldown. This should solve this problem or make it happen in very rare situations.

  • ytdl-core version has been changed to fix slow working of music system.
  • Maximum amount of raw XP a user is allowed to receive has been increased to 100. (Was 40 before)
  • Minimum amount of raw XP a user is allowed to receive has been increased to 30. (Was 10 before)

Notifications Changes

  • A problem with Twitch notification has been solved which didn't edit the notification message when it should.

Visual Changes

  • playerStart event has been edited. It won't be triggered if the playing track has just been added to the queue or has been skipped.
  • Music interaction buttons will now be disabled when the track user adds to the queue is not playing at the moment.
  • A problem with skipButton which didn't send the skip message has been fixed.
  • A problem with /favorite which showed the last page of user's playlist at the first instead of first has been fixed.
  • A problem with /queue which didn't show upcoming tracks in the queue has been fixed.

SayehBot@1.6.2

Choose a tag to compare

@bllackbull bllackbull released this 29 Aug 22:35

This update contains 60 changes.

Breaking Changes

  • A new option has been added to /favorite to interact with other's favorite playlists. This feature is in beta phase.
  • "play favorite" user context menu option has been added and replaced "fuch user" option. This feature is in beta phase.
  • /playlist now supports names and doesn't require url only anymore.
  • /filter has been reworked.

Technical Changes

  • Coding format of most files of the bot has been changed.
  • A problem with /wow not working correctly has been fixed.
  • Lots of coding logics have been changed to make the bot work faster.
  • /favorite has been reworked and now works faster and better.
  • Maximum amount of raw XP a user is allowed to receive has been increased to 40. (Was 32 before)
  • Minimum amount of raw XP a user is allowed to receive has been increased to 10. (Was 7 before)

Notifications Changes

  • A problem with Twitch notifications not working has been fixed.
  • Some Twitch notifications messages images have been changed.

Visual Changes

  • /autoplay reaction has been changed. It's now able to toggle autoplay mode of the queue.
  • /play and /insert autocomplete features have been visually changed.
  • /pause doesn't contain any reactions no more and it contains a button now to pause or resume the queue.
  • /song doesn't contain any reactions no more and it contains buttons now to interact with the queue.

SayehBot@1.6.1

Choose a tag to compare

@bllackbull bllackbull released this 24 Aug 11:50

This update contains 52 changes.

Breaking Changes

  • /filter has been completely remade. It now contains a select menu and multiple filters can be added to the queue.
  • Music commands no longer contain buttons when the track is added to an already created queue. This change only applies to commands with the ability to add a track to the queue such as /play or /insert.
  • Skip button has been added to some music commands to skip songs easier. This feature is in beta phrase.
  • Bot will send a message in the same channel it's playing a track whenever a new track starts playing. This event won't be triggered if the new track starts playing in a new queue and it's in beta phrase.
  • /seek has been completely remade. A new option "seconds" has been added to this command and users are now able to seek to a specific second of a track.

Technical Changes

  • Readme file has been updated.
  • "stateChange" event which prevents the bot from stop playing unexpectedly has been moved to sperate file.
  • If a user move the bot to another voice channel while the bot is playing, it will automatically disconnect and destroy the queue.
  • Most of music commands console logs have been edited.
  • /favorite behavior has been changed.

Developer Note: I'm aware of /favorite not playing favorite playlist problem and I hope it would be fixed by this change.

  • Handlers have been updated to support select menus and more.

Security Changes

  • A problem with git which still showed .env file in repository has been fixed.

Visual Changes

  • Most of music commands descriptions have been edited.
  • /queue has been redesigned.

SayehBot@1.6.0

Choose a tag to compare

@bllackbull bllackbull released this 18 Aug 14:24

This update contains 75 changes.

Breaking Changes

  • Discord-player package has been updated from v5 to v6. All music related commands have been remade.
  • Favorite playlist system has been completely remade. Users are no longer limited to have only 10 tracks in their playlist.
  • Report system has been remade. Users are no longer limited to have only 1 open case at a time.
  • New: Use /spank to spank anyone you want!
  • New: Use /autoplay to enable autoplay for current queue. This feature will automatically play similar songs after the current song finishes playing.
  • Music features now support Apple Music.
  • Autocomplete feature is now enabled for some music related commands. This feature will suggest up to 5 results to user before executing the command.

Technical Changes

  • Readme file has been rewritten to make it an easy and complete guide to install and develop the bot.
  • Discord-player queue creation method has been changed.

Developer note: The "audioonly" filter has been added to ytdl filters so the target track would be lighter to play.

  • If a voice channel become empty while the bot is playing, it will automatically disconnect and destroy the queue after 5 seconds.
  • User is no longer able to report a same message which they have reported before when the case of it is still open.
  • A lot of files have been changed to make them more briefly and smarter. Thus, volume of codes has been greatly reduced.

Developer note: A good example for this change could be "favorite.js" which has been reduced from 820 lines of code to only 485 lines. Or "wow.js" which has been reduced from 540 lines of code to 336 lines. Changes like this will make the bot work faster and smarter.

  • Welcome system now works with 1 second delay to avoid message duplication.

Notification Changes

  • Twitch and YouTube notifications now work with database completely.
  • Birthday notification system has been changed to avoid any day check event being missed.

Developer note: Birthday system used to check every 24 hours to see if there is any birthdays for today or not. So there was a huge chance that a day would be missed. In the new update each day will be checked every 1 minutes to make sure there would be no missed days and also the birthday notification will now trigger a lot faster due to this change.

  • Twitch notification message behavior has been changed. Title, category and viewer count of the message and status of the bot will be updated whenever those mentioned things are changed in live stream. Also, the image of message will no longer change after 4 hours, and it now changed whenever the live stream goes offline.

Security Changes

  • .env file has been removed from GitHub due to security preposes.
  • JSON folder and its content has been removed due to security preposes.
  • The bot has been updated to use latest version of mongoose package to avoid any security problems.
  • More API tokens and other private items have been moved to .env file to avoid any security problems.

Visual Changes

  • Music related commands timer behavior has been changed. They will now be deleted as soon as the current track ends.
  • Music related commands buttons have been edited a little to look different.
  • /kiss has been changed and now contains a new gif.
  • A new phrase has been added to some error embeds to suggest the user to try the command again with one click and most of other phrases have been edited.
  • /help has been rewritten again.
  • /leaderboard has been edited to look a little different.
  • XP system has been changed and the bot will no longer give XP to a banned message.
  • The maximum amount of raw XP a user is allowed to receive has been increased to 32. (Was 30 before.)
  • The minimum amount of raw XP a user is allowed to receive has been increased to 7. (Was 5 before.)
  • /roll has been updated and now user can win or lose some XP by rolling 15 numbers. (Was 10 before.)
  • Two secret easter eggs have been added!

SayehBot@1.5.3

Choose a tag to compare

@bllackbull bllackbull released this 12 Jul 13:57

This update contains 39 changes.

  • A new error embed message has been created to avoid database connection failure.
  • User's tag has been removed from some embeds due to the new discord update.
  • /steam has been reworked and has been divided into two sub commands.
  • Use /steam store to search about a game in steam store.
  • Use /steam market to search about an item in steam community market.
  • Ukrainian currency (UAH) has been added to /steam market.
  • /previous has been reworked and now uses database again.
  • /help has been edited and English language has been updated.
  • /social has been updated and Instagram button has been replaced by Telegram button.
  • /space has been edited and won't crash anymore.
  • Reporting system has been changed.
  • Refresh time interval of Twitch stream notification has been increased to 2 minutes. (Was 1 minutes)
  • Twitch streaming notification and YouTube video notification now work with database. This feature is a demo and in testing phase.