tsubakibotpad / pad-cogs Goto Github PK
View Code? Open in Web Editor NEWCogs for a Discord bot related to the mobile game Puzzle & Dragons
License: MIT License
Cogs for a Discord bot related to the mobile game Puzzle & Dragons
License: MIT License
Idk how hard the 2nd part is but the idea is so that you don't have to inf wait if you got to the wrong evo before clicking to get to the right one
I assume this is part of "rewrite entire menu" so eventually I'll make a single issue with "requirements of a rewritten menu" and you can talk to max about it yay
e.g. Norza should be 1/400/25 Resist 57.75% +6c
e.g. ^id base 3260
should return 2141, the base of Tsubaki's evo tree
If this is too hard to implement in regular id, then it could be done only in ^id2
this isn't a task for us but making issue to track it here
Related: #224
Today the pipeline was updated but Sakuya etc weren't udpated until I manually ran the index reload
Example:
Dragon/Balance
Rarity 7 (Tree 6)
Cost 70
Inheritable
TLDR add a config object, also move it out of the padevents
command group
^autoeventping add <key>
^autoeventping show <key>
- print all the config for a particular aep
^autoeventping remove <key>
^autoeventping list
^autoeventping setlogchannel <channel>
- this is for the logging of summary queries that max wants
^autoeventping set channel <key> <channel>
- where it prints everything to^autoeventping set redchannel <key> <channel>
- etc for each color^autoeventping set event <key> <searchstring>
- the string to be in the dungeon name^autoeventping set searchmode <key> <mode>
- either regex
or plain
, default should be plain
^autoeventping set roles <key> <red> <blue> <green>
^autoeventping set redrole <key> <red>
, etc^autoeventping set server <key> <na/jp/kr>
^autoeventrping set enabled <key>
^autoeventrping set disable <key>
^autoeventrping set offset <key> <minutes>
- this is the number of minutes before the dungeon starts that the ping should happen. The format of the message should now say, will start in {} minutes!
this is like a clone of which and should be editable by padglobal admins but don't make it part of padglobal, make a new cog, we need to split up padglobal into multiple cogs as-is
note that only lumon will be editing this but I don't think theres a need to add yet another set of admin permissions, we trust padglobal admins
commands available to padglobal admins:
pcadmin add
- adds a stamina costpcadmin edit
- edits a stamina costpcadmin remove
- removes a stamina costpcadmin setratio
- sets the ratio of plus point to stamina costcommands available to anyone:
pricecheck <lookup term>
Default case, where there is information about the card, here is lumon's mockup:
It should also have a disclaimer saying this is not endorsed by the Tsubaki owners or server admins or whatever and is just lumon's project or whatever but we can figure that out
Important tech:
Add a per-server setting to disable some tabs in ^id command
Motivation: The list of tabs populates kinda slow.
Implementation details:
otherinfo
, pic
, mats
, etcShould probably discuss whether this is actually worth implementing & whether there's other complications prior to spending time on this
Should be 2 sig figs displayed like:
round if needed
Depends on TsubakiBotPad/pad-data-pipeline#37
Related to #198
it should just print the number of servers the bot is currently in
for example ameno does: 3602, 3603, 4736, 4737, 4737, 5932
rodin/blodin do not
clicking this will bring up the actual ^id for the current card.
In particular we'll have this for the disambig screen (except for it'll not be present when you're on the overview tab of the disambig screen)
display should be:
Available Killers: [8 slots] Devil Healer Machine
Aradia needs to do this since it's using new data from the pipeline for the first time
^scheduler new <name> <message>
^scheduler delete <name>
^scheduler edit <name> <message>
^schedulerset begin <name> <time>
^schedulerset end <name> <time>
^schedulerset interval <name> <interval>
^schedulerset channels <name> <list, of, channels>
^schedulerset enable <name>
^schedulerset disable <name>
https://github.com/Twentysix26/26-Cogs/blob/master/trigger/trigger.py
Oh no! Aamir's precious face!
You're an eyesore!
(maybe do a more extensive search than I did to see if someone else ported it first)
As long as the two channels exist in servers she's in, it says Done
even if the mirror didn't exist
Did we get it right? (and tell people about ^idmode survey
)
Immediately -> Log that menu showed up
Immediately -> Show yes/no /go away buttons
Yes click -> log it
No click -> log it, edit message to show google form link
Go away click -> edit message to say, "are you sure you want us to go away?" + remove go away click + add "only sometimes" button
Second go away click -> log user preference to never get menu ever again, edit message to say "okay we won't show this again"
Only sometimes click -> log user preference to only sometimes get menu, edit message to say "okay we'll show this only sometimes"
Also add ^idmode survey always
, ^idmode survey sometimes
, and ^idmode survey never
And owner-only, ^idmode survey setsometimes <number>
to set the percentage of sometimes
Requirement - #175
(we can temporarily just leave the eyes and have them do nothing when overview is focused if this is too big a blocker for disambig screen)
Specifically relevant now because of the 6 vs 8 slots for mh buff but also for buffs in general
since the last edit, commands to the bot that are aliases are being mirrored, which is a regression from previous behavior afaik
at the bottom of the overview screen
go into ^idmode number
try ^idna 4953 (or just ^id 4953)
you can only scroll backwards (left) through the ids and not right
even if it's not actually broken we should prob still not be doing this
Update Alternate Evos
to say "All Collab Monsters" and show like
...., 1001, 1002, **1003**, 1004, 1005, ....
etc instead of showing the tree
I'm calling the base command crud
for now because I'm not sure a better name for it but it can be called something else.
We will have to keep track of what has been manually edited, not just insert the new values into the db and be done with it.
Here, it will look up an id and do the modification to the card's tree
^crud basename add<id> <string> <?comment>
^crud basename show <id>
- this will return a numbered list so that we can remove by number or string. Also display the comments in the show
reports.
^crud basename del <id> <number or string>
^crud basename search <string>
- return all cards that with string
appearing in their modified value
Here, it will do the modification to the card itself
^crud nickname add <id> <string> <?comment>
^crud nickname show <id>
^crud nickname del <id> <number or string>
^crud nickname search <string>
Actually I'm not sure if this tab is used?? Is this done through the actual crud? But I guess either way we need it
^crud pantheon add <id> <string> <?comment>
^crud pantheon show <id> <string>
^crud pantheon del <id> <number or string>
^crud pantheon search <string>
This is used in id2
and we are definitely absolutely keeping this functionality id2 b sam3
^crud pantheonnick add <string pantheon> <string nickname> <?comment>
^crud pantheonnick show <pantheon>
^crud pantheonnick del <int or string>
^crud pantheonnick search <string>
^crud search <string>
- return all matches of string
in anything modified
^crud help
- return a link to the wiki page explaining how everything works (at least it explains nickname vs basename)
Created issue in wrong repo: TsubakiBotPad/pad-data-pipeline#28
So this is like collabscroll but for numbers
So we have -1K, -100, -10, -1, +1, +10, +100, +1K emojis, and then it goes up more if a monster doesn't exist. there's no extra tabs, just the overview
yay this sounds so fun and cool
ex ‘revo dmeta’ -> 3535 instead of 643
‘revo ilm’ -> 3236 instead of 1951
In ^autoeventping set searchstr
, the characters "
and '
should be stripped from input along with whitespace before the input is saved (currently only whitespace is stripped)
Works: ^autoeventping set searchstr Extreme KMD
Does not work but should: ^autoeventping set searchstr "Extreme KMD"
Similarly in ^autoeventdm edit searchstr
make the same change.
These are the only two commands that need the change.
^aed add na "search term" group offset
- offset is donor-only due to load concerns. If a non-donor provides an offset say, "offset is donor-only. Create anyway? You can become a donor here at any time and the offset will start applying: "
^aed list
- provides a (numbered) list of all currently-running aeds
^aed delete <int>
- deletes that entry (prompt for confirmation)
^aed purge
- deletes all (prompt for confirmation)
^aed edit offset <int> <int>
edits the offset of entry firstint to secondint minutes
^aed edit
......etc for all the ones from aep that make sense here
ALSO
^aedh edit offset @username int int
- these are gated to bot owner only (or even better, managed via gadmin so that we can delegate additional aed helpers) and let us set something for a user when they come to us for help, it's the same as the above just injects a username at the start of the command so we don't have to make them type it themselves
aedh stands for autoeventdmhelp
Add ,
, .
, and /
as separators for the ^ls
command instead of only allowing "
to separate multi-word lookups
Example: ^ls base v / yugi
or ls base v, yugi
or ls base v . yugi
should resolve.
The reason for the .
as a separator is to support people on mobile having a very easy lookup.
Make sure this patch doesn't break current functionality; ls "base v" yugi
should still resolve.
This issue has been claimed by Lunatic.
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.