DiscordBot

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Notgod
User
Beiträge: 14
Registriert: Mittwoch 15. Juli 2020, 08:15

Hi,

habe ein Probelm ich habe ein bot für discord.
hi leute habe ich ihn erweitert und es hat auch alles erstmal gut funktionier aber jetzt sieht es so aus wie all würde die ganze on_message methode nicht geht

Code: Alles auswählen

import discord
import time as T
import Timeout
filename = "Discordspeicher.txt"
from discord import Member
import asyncio
import Checker
client = discord.Client(intents=discord.Intents.all())


@client.event
async def on_ready():
    print("Online")
    client.loop.create_task(status_task())


async def status_task():
    while True:
        await client.change_presence(activity=discord.Game('discord.gg/57vZdRkK'), status=discord.Status.online)
        await asyncio.sleep(3)
        await client.change_presence(activity=discord.Game('Mein cooler Bot!'), status=discord.Status.online)
        await asyncio.sleep(3)


@client.event
async def on_message(message):
    print(str(message.author) + " schrieb am " + str(T.asctime(T.localtime(T.time()))) + " den Text " + str(message.content))
    nachricht = str(message.author) + " schrieb am " + str(T.asctime(T.localtime(T.time()))) + " den Text " + str(message.content) + "\n"
    t = None
    f = open(filename, 'a')
    f.write(nachricht)
    f.close()
    if message.author == client.user:
        return
    if message.content.startswith("!hello"):
        await message.channel.send("Hi " + str(message.author))

    if message.content.startswith('!Userinfo'):
        args = message.content.split(',')
        if len(args) == 2:

            member: 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 User {}' .format(member.mention),
                                      colour=0x22a7f0)

                embed.add_field(name='Server beigetreten', value=member.joined_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)
                await message.channel.send(embed=embed)
            else:
                print('member nicht da')
        else:
            print(args)

    if message.content.startswith('!Timeout') and message.author.guild_permissions.kick_members:
        args = message.content.split(',')
        print('test3')
        if len(args) == 3:
            member: Member = discord.utils.find(lambda m: args[1] in m.name, message.guild.members)
            print(member)
            if member:
                try:
                    out = int(args[2])
                    t = Checker.MyClien()
                    t.t = Timeout.Timeout(str(message.author), out)
                    t.t.timeout()
                    t.timoutlist[str(message.author)] = t.t.getende()
                    await message.delete()
                    embed = discord.Embed(title='Timeout für user ' + args[1].format(member.name),
                                          description='Getimeouted von {}'.format(
                                              member.mention),
                                          colour=0x22a7f0)
                    embed.add_field(name='Dauer(in Sek):', value=member.joined_at.strftime(args[2]),
                                    inline=True)
                    embed.set_thumbnail(url=member.avatar_url)
                    await message.channel.send(embed=embed)
                    return
                except:
                    print('test')
            else:
                print('stuffe2')
                print()
        else:
            await message.channel.send('User nicht gefunden')

    else:
        pass

    print('ende')


client.run("XXXXX")

mfg
notgod
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich habe mal dein Secret wegeditiert. Aber du solltest das verwerfen & ein neues erzeugen, sonst gibt sich jemand als dein Bot aus.

Inhaltlich kann ich nichts dazu sagen, ich schreibe keine Discord-Bots. Ich wuerde auch eher auf Discord-spezifische Foren zurueckgreifen.
Notgod
User
Beiträge: 14
Registriert: Mittwoch 15. Juli 2020, 08:15

ja das secret habe ich direkt nach dem post geändert
Antworten