Discord.py Welcome / Удаленные сообщения в чате - PullRequest
0 голосов
/ 20 марта 2020

Поэтому я пытаюсь заставить своего бота оставлять приветствия и удалять сообщения с помощью discord.py.

import discord
from discord.ext import commands
import random

client = commands.Bot(command_prefix = '.')

@client.event
async def on_member_join(ctx, *, member):
    channel = member.server.get_channel("channel id")
    fmt = 'Welcome to the {1.name} Discord server, {0.mention}'
    await ctx.send_message(channel, fmt.format(member, member.server))

@client.event
async def on_member_remove(ctx, *, member):
    channel = member.server.get_channel("channel id")
    fmt = '{0.mention} has left/been kicked from the server.'
    await ctx.send_message(channel, fmt.format(member, member.server))

client.run('client id')

Ошибка

File "C:\python\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
TypeError: on_member_join() missing 1 required keyword-only argument: 'member'

.

Я не уверен, почему она не работает. У меня очень мало опыта с этим, поэтому я не уверен, что я делаю неправильно. Кто-нибудь может сказать мне, что мне не хватает?

1 Ответ

0 голосов
/ 20 марта 2020
@client.event
async def on_member_join(member):
   await client.get_channel(idchannel).send(f"{member.name} has joined")

@client.event
async def on_member_remove(member):
   await client.get_channel(idchannel).send(f"{member.name} has left")

В случае, если вы не можете получить ctx, потому что это не команда, которая должна писать. Это событие

...