blobemoji / queuebot Goto Github PK
View Code? Open in Web Editor NEWQueue processing Discord bot for the Blob Emoji Discord server.
Home Page: https://join.blobs.gg
License: MIT License
Queue processing Discord bot for the Blob Emoji Discord server.
Home Page: https://join.blobs.gg
License: MIT License
It would be useful if the q!approve
and q!deny
commands would be logged in the queuebot-log channel when they're used.
ctx.confirm
I should just be able to carry on and deny/approve submissions either using reactions or commands.
The bot stops accepting commands and reactions no longer work.
1|queuebot | 2020-07-28 21:50:44,158:INFO:queuebot.cogs.queue: Created new emoji by name tipsfedora in guild 737756609324908624.
1|queuebot | 2020-07-28 21:50:44,169:INFO:queuebot.cogs.queue: Producing a test image...
1|queuebot | 2020-07-28 21:50:44,589:ERROR:queuebot.cogs.errors: Error in on_on_message:
1|queuebot | Traceback (most recent call last):
1|queuebot | File "/usr/local/lib/python3.7/dist-packages/discord/client.py", line 312, in _run_event
1|queuebot | await coro(*args, **kwargs)
1|queuebot | File "/queuebot/queuebot/cogs/queue/__init__.py", line 224, in on_message
1|queuebot | await self.handle_suggestion_message(message)
1|queuebot | File "/queuebot/queuebot/cogs/queue/__init__.py", line 192, in handle_suggestion_message
1|queuebot | await msg.add_reaction(self.config.approve_emoji)
1|queuebot | File "/usr/local/lib/python3.7/dist-packages/discord/message.py", line 953, in add_reaction
1|queuebot | await self._state.http.add_reaction(self.channel.id, self.id, emoji)
1|queuebot | File "/usr/local/lib/python3.7/dist-packages/discord/http.py", line 245, in request
1|queuebot | raise HTTPException(r, data)
1|queuebot | discord.errors.HTTPException: 400 Bad Request (error code: 10014): Unknown Emoji
No error message is provided when using a command, the commands simply do not work.
approve_emoji_id: 737764731087093760
deny_emoji_id: 735300726573498428
approve_emoji: 'upvote:737764731087093760'
deny_emoji: 'downvote:735300726573498428'
Debian 10.3, on a 64-bit version.
4.19.0-8-cloud-amd64
Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz
16 GB DDR4 RAM at 3200 Mhz
5432 with a timeout of 60.
This is a high severity bug no matter how you slice it.
So, this bot has an avatar that's based on the :blobcouncil: emoji, but the problem is that the bot still has the same avatar from the reopening, now :blobcouncil: has been remade and colorfixed.
Instead of having a bot owner to fix the avatar everytime :blobcouncil: has been changed, the blob police could have a q!avatar command, that it would grab the emoji or image that has been attached and the bot would change the avatar to the image.
A few recent emoji submissions have had issues with the AMOLED theme available on Discord for Android or were attempting to fix them.
Adding the AMOLED theme to the preview of q!test for static and animated emoji would allow blob makers to test out their creations on the AMOLED theme without necessarily having an Android device to test the AMOLED theme with.
Relevant colours:
Background: #000000
Timestamp: #8d8d8e
Message: #dcddde
Here are some preview images using blobninja.
Note that this AMOLED theme preview was made by duplicating the Dark theme's half of the current preview image, then subtracting the Dark theme background using GIMP's Subtract layer mode. It may or may not be suitable for production; if needed, it should be remade.
This would require modifying the schema.
q!deny
This will also require a logic change in how the bot discovers cogs.
We need to track this!
q!status
q!suggestions
?This could help find specific suggestions.
Something that might be useful to reduce the burden on finding if someone is inactive or not is to track the last time someone added a reaction in the council-queue. By doing this, we can partially automate the council-queue in that, if a council members stops adding reactions, we can determine if they are inactive (eg if the last time someone added a reaction was a month ago, remove the role automatically).
This could potentially lead the way for automating the addition of the role when a suggestion is fully approved in a similar way, making it easier on police overall.
The main downside to this vote system is that because of the strange way Discord sorts reactions, an emote creator could have their emote resubmission denied not because of the quality of the resubmission itself, but because people erroneously thought the reactions were in order (left one then right one), when in reality they were the other way around.
This proposal fixes the aforementioned problem by having the emotes being voted on represented as 1 and 2, so that even if the reactions get sorted incorrectly, it's impossible to get them confused.
Would be a nice QOL feature to add example images that are used in the council queue to also be posted the the public queue. This would allow the public to additionally compare how emojis looks in chat.
Currently, you have to submit it thought the Blob Mail, i think it would be better if you could directly do that thought #submissions by posting something like.
":bloboldname: to :blobnewname: - Note"
Currently, if an emoji is too big to fit Discord's limits, the VS never happens.
...
...
...
this is a QOL change that will allow anyone in the server to see what has been submited, like tihngs were before, with b1nb0t, and with manual processing.
10 MB
)q!sg
10 minutes ago
)Probably going to use an Embed for this.
Discussion: Should this replace q!status
? Or should we just improve q!status
as it is outlined here? Or maybe even have both?
Currently all the messages are hard-coded in the /queuebot/utils/messages.py file, however, what if I'd want to change the channel for SUGGESTION_APPROVED to my own channel? I'd have to edit that file, which would make it annoying to update due to git.
Maybe there should be like an optional constants.py in the root dir, if the user makes it, they can override any of the messages, so if you'd have BAD_SUGGESTION_MSG in the constants.py, it would use that one instead of the messages.py's one, but it would still use the messages.py for others ones seeing as they wouldn't be in the constants.py
So for the emoji name for suggestion :bloblol:
would be e.g. :bloblol_55:
or something like that. Easier to know what the suggestion ID is, instead of running the q!sg
command.
The custom help formatter is quite noisy. It also doesn't allow users to view help for individual commands, and I'd rather just rip it out instead of implementing that.
Thoughts? @SnowyLuma @Gorialis
It's not open source free software till you add a license. I recommend AGPLv3 because it requires you to publish the source code whenever you update the bot server.
At this time, the current workflow for blob suggestions goes like this:
While this is ok, this can slow down the addition of new blob suggestions, especially as they have to be uploaded to another server that users need to be a member of. This also means police then have to find the user who had their suggestion approved and then add the Blob Maker role.
An ideal solution would be to automate the whole queue, so that police aren't involved so heavily on uploading the emoji, but still retaining oversight. In this idea, the ideal workflow is this:
The numbers would be changeable of course, this is just to give an idea of what the ideal flow would be. Automating the workflow gives us more choice to make a bunch of stats from each stage and, in addition, would tie in nicely with ticket #8.
this will allow us to rename a confusing name ( eg, :blobglare:) for a new name ( :blobglarereverse:)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.