Discord.py | Keyword Pinger
Budget: $30 – $250 USD
Presently I have a keyword pinger that works great! The only downfall is that for all the keywords present it can only ping 1 role. The program does support positive/negative keywords and a role to ping via 3 separate files. What I'd like to do is merge that into one. The goal of the program is to set up a pinging system for keywords tied to specific roles. The bot only reads embeds from channels in a whitelisted text file, which doesn't need further changing.
For example, this is what the bot presently does:
ABC | @Director
XYZ | @Director
What I want is filtered pings for roles, so for example:
ABC | @Director
XYZ | @User
Tasks:
1. Merge positive, negative keywords, and roles to be read from 1 file. (A JSON format preferred). Just proper file reading to be done. So one line could be `+positive|-negative|@RolePing`. Note: there should be handling for multiple keywords positive or negative so `+positive,+word,+use|-negative,-ban|@RolePing`. JSON format should be something clear and straightforward
{
data[
{"positive":"awesome","negative":"ban","rolename":"director"}
{"positive":"great","negative":"ban","rolename":"user"}
....(and so on)
]
}
2. Admin commands to create/remove notification pings.
`>addping` following with input prompts for positive, negative keywords, and role to ping.
`>removeping` to remove a specific entry notification. As the storage is a JSON, list all available entries indexed from 0, from the index inputted by the user, remove that entry from the JSON
`>listping` to list all active notification entries with an index from 0
For example, this is what the bot presently does:
ABC | @Director
XYZ | @Director
What I want is filtered pings for roles, so for example:
ABC | @Director
XYZ | @User
Tasks:
1. Merge positive, negative keywords, and roles to be read from 1 file. (A JSON format preferred). Just proper file reading to be done. So one line could be `+positive|-negative|@RolePing`. Note: there should be handling for multiple keywords positive or negative so `+positive,+word,+use|-negative,-ban|@RolePing`. JSON format should be something clear and straightforward
{
data[
{"positive":"awesome","negative":"ban","rolename":"director"}
{"positive":"great","negative":"ban","rolename":"user"}
....(and so on)
]
}
2. Admin commands to create/remove notification pings.
`>addping` following with input prompts for positive, negative keywords, and role to ping.
`>removeping` to remove a specific entry notification. As the storage is a JSON, list all available entries indexed from 0, from the index inputted by the user, remove that entry from the JSON
`>listping` to list all active notification entries with an index from 0