introduction of new command system with 2 commands to test it

This commit is contained in:
Aaron Riedel 2022-01-22 19:20:18 +01:00
parent 974e58992c
commit 6ec6b7f60e

52
bot.py
View file

@ -18,27 +18,51 @@ def mid(s, offset, amount):
return s[offset:offset+amount] return s[offset:offset+amount]
token = os.environ['TOKEN'] token = os.environ['TOKEN']
client = discord.Client() client = discord.Client()
bot = commands.Bot(command_prefix='!') async def admin(ctx):
if ctx.guild.get_role(261603488331595776) in ctx.author.roles:
return True
async def member(ctx):
if ctx.guild.get_role(261603747711418371) in ctx.author.roles:
return True
def is_admin():
async def predicate(ctx):
admin(ctx)
return commands.check(predicate)
def is_member():
async def predicate(ctx):
member(ctx)
return commands.check(predicate)
def permission(message):
if client.get_guild(261575556708040705).get_role(261603488331595776) in message.author.roles:
return True
def member(message):
if client.get_guild(261575556708040705).get_role(261603747711418371) in message.author.roles:
return True
emojinumbers = ["0\u20E3", "1\u20E3" , "2\u20E3" , "3\u20E3" , "4\u20E3" , "5\u20E3" , "6\u20E3" , "7\u20E3" , "8\u20E3" , "9\u20E3"] emojinumbers = ["0\u20E3", "1\u20E3" , "2\u20E3" , "3\u20E3" , "4\u20E3" , "5\u20E3" , "6\u20E3" , "7\u20E3" , "8\u20E3" , "9\u20E3"]
@client.event @client.event
async def on_ready(): async def on_ready():
print("Bot ready on Version %s..." % discord.__version__) print("Bot ready on Version %s..." % discord.__version__)
bot = commands.Bot(command_prefix='!')
@bot.command()
@is_member()
async def yesno(ctx):
await ctx.message.delete()
await ctx.send(content="Sorry das geht so nicht. Der Befehl hat sich geändert in !vote... für mehr Informationen schreib bitte !help oder frage deinen Admin oder Apotheker. Liebste Grüße, SecondBot <3", delete_after=20.0)
@bot.command()
@is_member()
async def help(ctx):
if admin(ctx):
admin_text = "\n\n!add = Hinzufügen einer Rolle mit Textchannel und hinzufügen von Usern zur Rolle\nNutzung: !add \"<Rolle>\" <User Mentions>\n\n!labor = bringt dich ins Labor :)\nNutzung: !labor\n\n!start = Starte ne Runde PnP\nNutzung: !start @Rolle\n\n!stop = Beende die gestartete Runde PnP\nNutzung: !stop\n\n!purge = Löschen von Nachrichten\nNutzung: !purge all|<Anzahl>|x minutes/hours/days/weeks\n\n!prune - kickt Member ohne Rolle, die 30 Tage nicht online waren\nNutzung: !prune"
else:
admin_text = ""
em = discord.Embed(title="Hilfe",description="!survey = Umfrage mit mehreren Antwortmöglichkeiten\nNutzung: !survey <Frage> | <Antwort1> | <Antwort2> ...\n\n!vote = Ja/Nein Umfrage\nNutzung: !vote <Frage>\n\n!love = zeige einem User Liebe\nNutzung: !love <@User1> <@User2> ...\n\n!roll = Rolle einen oder mehrere Würfel\nNutzung: !roll <anzahl_optional>W<seitenzahl> (z.B. !roll W20 oder !roll 10W6)%s" % admin_text, colour=0x00FF00)
if ctx.author.dm_channel == None:
await ctx.author.create_dm()
await ctx.author.dm_channel.send(embed=em)
@client.event @client.event
async def on_message(message): async def on_message(message):
if message.content.startswith("!yesno"):
await message.delete()
await message.channel.send(content="Sorry das geht so nicht. Der Befehl hat sich geändert in !vote... für mehr Informationen schreib bitte !help oder frage deinen Admin oder Apotheker. Liebste Grüße, SecondBot <3", delete_after=20.0)
if message.content == "!help": if message.content == "!help":
if message.channel == message.author.dm_channel: if message.channel == message.author.dm_channel:
await message.author.dm_channel.send("Sorry das geht so nicht. Bitte schreibe diese Nachricht in einen Channel auf dem SecondHemd Discord, sonst kann ich nicht sehen was du für Berechtigungen hast. Vielen Dank.") await message.author.dm_channel.send("Sorry das geht so nicht. Bitte schreibe diese Nachricht in einen Channel auf dem SecondHemd Discord, sonst kann ich nicht sehen was du für Berechtigungen hast. Vielen Dank.")
@ -331,4 +355,6 @@ async def on_message(message):
if message.content.startswith("!print") and permission(message): if message.content.startswith("!print") and permission(message):
print(message.content) print(message.content)
await message.delete() await message.delete()
client.run(token)
client.run(token)