[import asyncioimport randomimport discordfrom discord import Member, Guild, Userfrom webserver import keep_aliveimport osclient = discord.Client(intents=discord.Intents.all())antworten = [ "Ja", "Nein", "Vielleicht", "Warscheinlich", "Sieht so aus", "Sehr warscheinlich", "Sehr unwahrscheinlich"]@client.eventasync def on_ready(): print("Angemeldet als Bot {}".format(client.user.name)) client.loop.create_task (status_task())async def status_task(): color = [ discord.Colour.red(), discord.Colour.orange(), discord.Colour.gold(), discord.Colour.green(), discord.Colour. blue(), discord.Colour.purple() ] while True: wait client.change_presence( activity=discord.Game("mit einem Messer."), status=discord.Status.online) wait asyncio.sleep(40) wait client.change_presence(activity=discord.Game("in der Entwicklungsphase"), status=discord.Status.online) wait asyncio.sleep(25) wait client.change_presence(activity=discord.Game( "Dieser Server nicht jetzt beitreten: [URL]https://discord.gg/8F2XjMk[/URL]"), status=discord.Status.online) wait asyncio.sleep(60) wait client.change_presence( activity=discord.Game("Update Loading... 42 %"), status=discord.Status.online) wait asyncio.sleep( 70) Gilde: Gilde = client.get_guild(772190779299987506) if guild: role = guild.get_role(772501470394318868) if role: ...def is_not_pinned(mess): return not mess.pinned@client.eventasync def on_member_join(member): guild: Guild = member.guild if not member.bot: embed = discord.Embed( title="Willkommen auf unserem Server, {} ".format(member.name), description= "Bitte akzeptiere die Regeln um direkt loslegen zu könen !", color=0x22a7f0) try: if not member.dm_channel: wait member.create_dm() await member.dm_channel.send(embed=embed) außer discord.errors.Forbidden: print( "Es konnte keine Willkommensnachricht an {} gesendet werden.".format(member.name))@client.eventasync def on_message(message): if message.author.bot: return if ".help" in message.content: wait message.channel.send( "[I]Commandhilfe des Serverbots. [/I] " "\r\n \r\n" "``.help - Zeigt diese Hilfe an.\r\n" ".userinfo [Name] - Zeigt eine Info über den angegebenen Benutzer an.\r\ n" ".8ball [Frage]- Lässt ein Orakel erscheint was es ermöglicht, jedes Ereignis vorherzusagen.\r\n" ".clear [Anzahl]- Command zum Löschen von Chatnachrichten. // Löscht nur Nachrichten der letzten 2 Wochen. / /\r\n" ".ban [Name] - Um einen bestimmten Benutzer von dem Server zu bannen. Nur für Moderatoren.\r\n" ".kick [Name] - Um einen bestimmten Benutzer von dem Server zu kicken. Nur für Moderatoren.``\r\n" ) if message.content.startswith( ".ban") und message.author.guild_permissions.ban_members: args = message.content.split(" ") if len(args) == 2: Mitglied: Mitglied = discord.utils.find(lambda m: args[1] in m.name, message.guild.members) wenn Mitglied: wait member.ban() wait message.channel.send( f"[I]Spieler {member.name} wurde erfolgreich gekickt.[/I]") else: wait message.channel.send( f"Kein User mit dem Namen {args[1]} gefunden.") if message.content.startswith( ".unban") und message.author.guild_permissions.kick_members: args = message.content.split(" ") if len(args) == 2: user: User = discord.utils.find( lambda banentry: args[1] in banentry.user.name, message.guild.bans()).user if user: wait message.guild.unban(user) wait message.channel.send(f"Member {member.name .) } entbannt") else: wait message.channel.send( f"Kein User mit dem Namen {args[1]} gefunden.") if message.content.startswith( ".kick") and message.author.guild_permissions.kick_members : args = message.content.split(" ") if len(args) == 2: Mitglied: Member = discord.utils.find(lambda m: args[1] in m.name, message.guild.members) if member: wait member.kick() await message.channel.send( f"[I]Spieler {member.name} wurde erfolgreich gekickt.[/I]") else: await message.channel.send( f"Kein User mit dem Namen {args[1]} gefunden.") if message.content.startswith(".userinfo"): args = message.content.split(" ") if len(args) == 2: Mitglied: Member = discord.utils.find( lambda m: args[1] in m.name, message.guild.members) if member: embed = discord.Embed( title="Userinfo für {}".format(member.name), description="Dies ist eine Userinfo für den Benutzer {}".format(member.mention), color=0x22a7f0) embed.add_field( name="Server beigetreten!", value=member.joined_at.strftime("%d/%m/%Y, %H:%M:%S" ), inline=True) embed.add_field( name="Discord beigetreten", value=member.created_at.strftime("%d/%m/%Y, %H:%M:%S"), inline=True) rollen = "" for role in member.roles: if not role.is_default(): rollen += "{} \r\n".format(role.mention) if rollen: embed.add_field(name="Rollen", value=rollen, inline=True) embed.set_thumbnail(url=member.avatar_url) embed.set_footer(text="Userinfo created by Kowalski") wait message.channel.send(embed=embed) if message.content.startswith(" .clear"): if message.author.permissions_in(message.channel).manage_messages: args = message.content.split(" ") if len(args) == 2: if args[1].isdigit(): count = int(args[1]) + 1 delete = wait message.channel.purge(limit=count, check=is_not_pinned) wait message.channel.send( "{} Nachrichten gelöscht.".format(len(deleted) - 1 )) if message.content.startswith(.8ball"): args = message.content.split(" ") if len(args) >= 2: frage = " ".join(args[1:]) mess = wait message.channel.send( "Ich versuche deine Frage [ICODE]{0}[ /ICODE] zu antworten.".format(frage)) wait asyncio.sleep(2) await mess.edit(content="Ich kontaktiere das Orakel...") await asyncio.sleep(2) await mess.edit( content ="Deine Antwort zur Frage [ICODE]{0}[/ICODE] lautet: [ICODE]{1}[/ICODE]".format( frage, random.choice(antworten))) if message.content.startswith(" Test"): wait message.channel.send("Hey")keep_alive()TOKEN = os.environ.get("DISCORD_BOT_SECRET")client.run(TOKEN)]
03
Oct
Von KAB