Releases: pygame-community/LegacyPygameCommunityBot
1.6.1 - Patch (v1.6.0 - In Pursuit Of Something Greater)
See v1.6.0
for the major release.
Fixes:
- Update bot versioning string to
v1.6.1
Full Changelog: v1.6.0...v1.6.1
v1.6.0 - In Pursuit Of Something Greater
Welcome To Discord Bot API v9
This release implements the long awaited support for Discord threads, text-chat in voice channels, and other improvements related to v9 of the Discord Bot API, though discord.py
v2.0 . This upgrade also paves the way for application commmands, modals and future interaction-based bot features. In addition, discord.ext.commands
is now the main command framework used by the project.
A new dependency, snakecore
, now acts as the main utility framework for the project's codebase.
Unless stated otherwise in the future, this will be the last minor release of the PygameCommunityBot project. PygameCommunityBot Generation 2.0, a complete rewrite, is currently being planned, see more here.
What's Changed
- rename 'VERSION' variable to
__version__
, tweaks to admin command exc… by @Mega-JC in #351 - remove polls db, use footer indication by @ankith26 in #352
- remove _2 suffix from embed_utils commands by @Mega-JC in #353
- move parser functions into new file, add nested tuple parsing support by @ankith26 in #354
- quickfix minor bugs in codeblock and string handling in parser by @ankith26 in #355
- Add more typehints to
embed_utils.py
, minor improvements to embed related code by @Mega-JC in #357 - Use new discord time formatting features by @ankith26 in #356
- Add browse admin command by @zoldalma999 in #344
- Fix raise SystemExit bugs in exec cmd by @SSS-Says-Snek in #359
- Fix raise BaseException bugs in pg!exec by @SSS-Says-Snek in https://github.com/pygame-community/PygameCoLegacyPygameCommunityBotmunityBot/pull/360
- embed_utils.py improvements, add multi embed editing support to '!emsudo edit' by @Mega-JC in #361
- fix color bug in clock, do not hardcode clock image size by @ankith26 in #363
- fix spacing bug when urls is set to True in '!sudo fecth' command by @Mega-JC in #362
- fix embed validation and filtering bugs for embed commands by @Mega-JC in #365
- add reply support to 'archive' command by @Mega-JC in #366
- Improve
archive
command appearance, show less redundancy in output by @Mega-JC in #368 - Add pd!events wc commands by @ankith26 in #372
- Handle WC roles, update functions by @ankith26 in #374
- add feature to warn people about posting recent but invalid messages … by @Mega-JC in #375
- Fix entry_message_validity_check(), format code with black by @SSS-Says-Snek in #376
- 👀 Hello there, may I help you with this ONE "it's" MISTAKE? by @avaxar in #377
- Fully port codebase to use
snakecore.utils
by @Mega-JC in #378 - Add feature to delete command response messages using a reaction by @Mega-JC in #379
- Port command system to
discord.ext.commands
by @Mega-JC in #380 - Major Codebase Refactoring: Adhere to
bot-template
repository structure by @Mega-JC in #383 - try/except in clock command so that a missing member doesn't break the command by @oddbookworm in #384
New Contributors
- @oddbookworm made their first contribution in #384
Full Changelog: v1.5.3...v1.6.0
Version 1.5.3 has been released!
Shiny, Shiny new version!
Haha another update! In the last 24-ish days we have managed to get 175 commits, and also we've had 31 changed source files with 11,779 additions and 8,044 deletions! Sounds like a lot of changes, innit ;)
This release has truly been a maintenance release, with loads of bug fixes, and code quality improvements. We also managed to sneak up a few features while bug hunting!
New stuff
New admin commands: pg!emsudo swap
and pg!sudo swap
New admin commands to swap the contents and embeds of two messages. Also, many emsudo commands were renamed to fit better with the group command syntax. Some commands even got new keyword arguments to control pings!
New admin command: pg!react
PR #293 by @bydariogamer
New admin command pg!react
, this command helps admins to make the bot send reactions on messages!
New admin command: pg!info server
PR #299 by @SSS-Says-Snek
A new admin command, pg!info server
was added to get some info about servers.
New admin command: pg!emsudo sum
New admin command to sum up emsudo embeds.
New admin command: pg!feature
New admin command, to add a per-channel control on some of the bot features. Yes, the dad jokes feature of the bot has been restricted to only a few channels on the server.
Improved Stuff
Emsudo updates
The commands pg!emsudo edit
and pg!emsudo remove
command have been revamped and work much better now! The pg!emsudo get
command also got some improvements and API load on these emsudo functions were decreased, thanks to the loading bar updates and optimizations.
Revamped pg!vibecheck
and emotion updates
PR #259, #277 and #287 by @SSS-Says-Snek
Now the bot is gonna show effects of being confused! That's right, don't enter wrong commands and confuse our bot. Also, the pg!vibecheck
command has been revamped and improved, now showing a pie chart of emotions, and the overall emotion system got more balance changes!
Better docs for commands
We are revamping our docs! While this is still a work in progress thing, Mega-JC has already done some great progress with the docs. As part of the new doc system, we will be more accurately describing the functions, the kind of arguments the function takes, and return stuff, so that users find the commands easier to understand and use!
Tuple input support
The bot just got support for tuple argument input! Yes, that means that you can enter tuples as arguments for bot commands. Some commands that make use of this new feature are pg!poll
and pg!resources
pg!poll
unique votes
PR #341 by @SSS-Says-Snek
The pg!poll
command now supports unique votes, where people can vote only one option at a time. This can be controlled via a unique
keyword arg, which is true by default
Admin commands improvements
The admin commands got some more juicy improvements, and also some bugs were fixed in the pg!archive
command. The pg!info
command was moved to another file. Also, the pg!sudo get
command just got a new pop
arg!
Bot shell output redirect to discord console channel
Commit b040b0b by @ankith26 and @zoldalma999
The bot's shell output is now redirected to a discord channel, so that bot maintainers can more easily keep track of any bugs in the bot and make sure things are running well.
Dad jokes improvements
PR #304 by @bydariogamer
Dad jokes were improved, and more motivational shakespearean quotes were added! Those tend to be pretty deep and motivating indeed!
Bug fixes, code cleanups, polish stuff
Code refactor and improvements
The codebase was refactored into separate files for ease of access. The commands were split up into their own folder, and also into separate files. Also, in subsequent commits, more typehints and such were added improve the codebase, and also, typecheckers like PyLance
complain much lesser than before!
Entries discussion cross posting fixes
The cross posted messages in the entries discussion channel are now edited and deleted when the original message is edited and deleted.
DB bugfixes
The DB previously had a bug where there was a chance of data corruption, and now this bug has been fixed thanks to a DB lock
Admin commands bug fixes
The bugs in create_as_dict()
function and embed timestamp handling were fixed
Better docs for group commands
Now the pg!doc
command correctly displays doc for all sub commands in a group command
Poll unique arg fixes and other misc fixes
Fixed reminders and group commands bug, write db
got file support, eval
command was restricted to a few roles, the bugs in the unique
arg of the poll command were fixed, and also, the parser got discord.PartialMessage
support, along with other misc changes in these PRs
Minor grammar fixes
PR #257 by @coolstuff123 and PR #350 by @Belvix
Minor grammar changes lol. Might seem like small changes, but each contribution counts!
Hehe, those are all the important changes of this version listed out, there were more tiny fixes and improvements, but the notes would get too long if I started listing those. For more detailed info, you can always check it out here.
That concludes the notes! As all releases, even this one would not have been possible without our contributors who contributed in this release.
@Mega-JC @SSS-Says-Snek @zoldalma999 @ankith26 @bydariogamer @Belvix @coolstuff123
That's all for now, keep your peepers ready for the upcoming versions! Until then, take care, and enjoy!
Version 1.5.2 has been released!
Yayy another Bot Update!
Yep, thats right! Another update! After only 12 days we have managed to get over 200 commits (two times more than the last release!). There are a lot of new stuff and we even got two new contributors!
Brand new goodies
The latest, cutting edge technology commands!
New user command: pg!fontify
Commits b299750 and 22634c3 by @ankith26, #250 by @bydariogamer and #254 by @Belvix
Mega-JC added a font based on the iconic pygame logo, and everyone uses it to send messages! And we can't blame them, the font is super neat! But to make it easier to send these messages we added pg!fontify
. With this handy command you can easily send a message with the font! If you ever wanna delete your message, just use pg!fontify remove
.
New user commands: pg!stream
#217 by @bydariogamer and @ankith26
People stream on the server! Sometimes. And when they do it is a lot of fun! So if you don't want to miss it then you can use the pg!stream
commands to subscribe to streams. And then whenever someone is live they will ping you to notify you of the stream!
New feature: Group commands
PygameBot just got support for group commands! Yea that's right, no more underscores in most of the command names. This feature helps in grouping commands that are similar under one group, to keep stuff neat and organised!
New admin commands: pg!pin
and pg!unpin
Pinning messages trough the discord GUI? Boring. Pinning messages trough bot commands? Cool! Admins now can pin/unpin messages easily, even if there are a lot of them!
New admin commands: pg!db
commands
The DB has been getting quite a few improvements and optimisations, and now pd!db
commands are implemented for admins to have more flexibility in managing the DB.
Improved Stuff
Improved pg!exec
command, gif support
#213, #244 by @zoldalma999 and Commit cb20c16 by @Mega-JC
You can now create gifs using our bot! Yep, you heard me right! With pg!exec
use the output.add_frame
function to add a frame to the gif! We also wrote up a small tutorial for it that you can find on the discord server changelog. We prettified the output embed and also added pygame.Sprite
and pygame.time
to the list of modules you can use!
Emotion system upgrades
Yes! We already knew that our beloved snek bot had emotions! And our snek continues to get better with emotions! Snek bot now has 4-factor emotions, based on anger, boredom, happiness, and confusion! Use the beta version of pg!vibecheck
to check the emotions!
Improved pg!remind
command
pg!remind command now got support for taking input in the units of months! Yea, you can set long term reminders with the bot too!
Improved emsudo
commands
#208, #211, #218, #220, #223, #224, #225, #238, #240, #248, #252 by @Mega-JC
Emsudo commands had another round of polishing and upgrading! It has been ported to the new parsing system, they now accept multiple arguments to create batches of embeds/messages and json files can now be used to send embeds as well! There are a lot more changes though, it is hard to sum all of them up into a short paragraph.
Bug fixes, code cleanups, polish stuff
Support for python 3.7 and 3.8
The bot source got support for python versions 3.7 and 3.8, because these versions are quite widely used too.
Added generic mode to allow the bot to be run on other servers easily
The "generic mode" is a way to get the bot running on other servers, if you wanted to test things out! The generic mode disables server specific stuff so that the bot can easily run on other servers, but some of its features are limited.
Limit admin commands to the author's role level
Commands like pg!archive
now checks the perms of the users running it, so that users do not try to archive messages of channels that they are not supposed to see.
Disable some commands in dms
Did you know that you can run some commands in dms? Well we kinda forgot about it so there were a few bugs related to it. A few commands have been disabled from dms so that you cannot create a poll thats with just PygameBot and you.
In all we had 208 commits, with 5,276 additions and 4,085 deletions over 18 files. There are a lot more small changes and bug fixes that you can check out here.
So that's all the new stuff we have! This would not have happened without our contributors:
@ankith26 @Mega-JC @SSS-Says-Snek @zoldalma999 @bydariogamer @Belvix
Thanks for reading this patch note, take care!
Version 1.5.1
Yayy another Bot Update!
PygameCommunityBot has gotten another shiny, shiny update! This time, we have bumped a patch version, from 1.5.0 to 1.5.1. That does not mean that this is a small release, it is packed with all the juicy stuff and wizard spells you would expect, coming from our Union of Wizards and Mages
.
What's New
We have many things to show you!
New user command: pg!resources
#184 and #196 by @SSS-Says-Snek
Wanna browse through good learning resources? We have a lot of them on our server! Now, thanks to the pg!resources
bot command, you can easily browse through them, filter by topics you are interested in and also filter resources based on the authors! Easy way for a beginner to get started on their python/pygame/gamedev journey!
New user command: pg!rules
You can now check out the rules of our server with the pg!rules
command. Use it list out one or more rules, also useful for pointing others to our rules. But the prophecy of the ancient Wisdom Book of Mages points out that this command can be used to unlock the top secret unwritten rule of the PygameCommunityServer! Are you ready to be entrusted with this knowledge? Is this prophecy true? There is only one way to find out!
New feature: Emotion system
Did you hear that? Our beloved snek now has emotions of its own! Be careful not to make our snake angry, and don't let it get bored. The new emotion system is not yet complete though, so expect more updates coming to it!
New feature: Dad jokes and dead chat
Ever feel bored? Want to hear some jokes? Our beloved snek just learnt to make jokes! Dad jokes, to be precise. I mean come on, who does not like a perfectly timed dad joke coming off randomly at your message on discord?
This ought to keep the chat alive. Speaking of alive chats, have you ever heard of "dead chat"? Snek bot does not like "dead chat", and is gonna remind you to not say "dead chat", quoting the wise words of a wise man!
New admin command: pg!info
As discord moderators, we always need to be on the watch for people doing anything wrong. With the help of this pg!info
command (initially implemented as pg!member_info
and pg!sudo_stats
and later merged into one command), we can get info related to any message or any member in our discord server.
New admin commands: pg!whitelist_cmd
and pg!blacklist_cmd
A utility to blacklist/whitelist commands of the bot was added, so that any commands can be stopped from running while we are still working on it
Improved Stuff
Improved pg!archive
command
Want to keep archives of messages? We have a(n admin) command for that, and that is pg!archive
! This command just got a whole lot better, with more customizations on the archives, neater looking archive output and fine grained control with more keyword arguments.
Reminders updates
Commit d9b3d6c by @ankith26 and #192 by @SSS-Says-Snek
Reminders have been revamped to be more reliable, and offer long term reminders now! The API for the reminder functions have been modified to make it better, offering a string input and keyword arguments input, so that you could enter the time duration argument more easily, and also, the ability to view and unset your old reminders have been added now! This was made possible due to improvements in the way the bot stores data in a DB-like system.
pd!stop
updates
pd!stop
now works better, allowing to stop other tester's running bot.
Bug fixes, code cleanups, polish stuff
A lot of stuff have been polished, code has been cleaned off dusty old cobwebs and made it easier to work with.
Black
#195 by @zoldalma999
For the sake of consistent code formatting, @zoldalma999 got the idea of using black, and we could not disagree. I mean everybody loves clean code, right? @SSS-Says-Snek has also done a lot of work in making our codebase shinier, putting many PEP8 fixer PRs that it is hard to list them here. But code cleaning is quite boring, thankfully it will be automated from now.
Embed stuff
Embed stuff had a few rounds of bug fixing and polish
Poll fixes
#186 by @zoldalma999
A few bugs in close_poll
were fixed, and the resources command was improved a bit
There were more bug fixes, but I got bored of listing them, and you might get bored reading them too. Hopefully the interesting ones have already been covered, but if you want to see the detailed comparison between the old version and this one, click here. In all, we had 98 commits.
And with this, we conclude this release notes! More coming up, so keep your peepers ready for those!
Contributors this release:
@ankith26 @Mega-JC @zoldalma999 @SSS-Says-Snek
Thanks for reading and happy hacking!
Version 1.5.0
Bot update!
PygameBot's version have been bumped from v1.4 to v1.5. So what's new? We have quite a bit of stuff to show!
Shiny new stuff
Some new commands, bit of new functionality and maybe the leftover magic dust.
New Commands: pg!poll
and pg!close_poll
PR #181 by @zoldalma999
Want to decide who is right? Or which is the best programming language? Maybe which apple is better? You can now do that with pg!poll
!
pg!poll
lets you start a reaction-based poll to so that you can let everyone decide! You can stop it anytime with pg!close_poll
!
New Command: pg!remind
Do you forget when to bump? We have an answer for that as well! pg!remind
lets you set a reminder so that you can beat everyone else at bumping the server.
A lot of new emsudo commands
A lot of PRs and commits. Cant list every one of them, all of it is done by @Mega-JC
Embeds on discord look very neat, don't you think! We just love posting them! This is possible due to the new commands that allow us to make, edit, copy and even delete these prettier looking embeds with an easier, better, and more featureful syntax! Expect more of these because we love the way they look!
Paging system
PR #150 by @zoldalma999
The help embed was starting to become crowded. So we split it up and added the ability to go between pages, just like a book! To see how they look like try pg!help
!
Improvements
Changes that make existing things better or easier to use.
pg!exec
now accepts files
Executing python programs with our beloved bot was never so easy! You can now attach a text or python file and see the results like it was inside a code block! So you can now write your pg!exec
code in your favourite editor and just drag-and-drop the file in!
Commands that require a msg_id
as their first argument now can be set by responding to a message
To make it easier to use commands like pg!refresh
or pg!close_poll
you can now respond to a message and it will be automagically set the message_id as the first argument so that you don't have to worry about them anymore.
Revamped clock command
Everyone who has the honour to be on the pg!clock
can now edit their time zones or remove themselves entirely. Admins and mods can also add other people freely. Even better, if you have a time zone that is not yet occupied on the clock you can be the one setting the color!
Revamped parsing system
We have rewritten our parsing system to be better, cleaner and more functional! Every argument has a type so it will be easier to write and handle commands. Some of them even support keyword arguments!
That is all that we can provide, for now anyway.
Contributors this release:
@ankith26 @Mega-JC @zoldalma999
Thanks for reading and happy hacking!