Discord python проблема бота с ролью - PullRequest
0 голосов
/ 05 апреля 2020

У меня ошибка: TypeError: on_message () отсутствует 1 обязательный позиционный аргумент: 'member' Как мне исправить эту ошибку и что мне с ней делать? Вот мой код:

import discord
import config
client = discord.Client()


@client.event
async def on_message(message, member):
    id = client.get_guild(config.ID) # ID в файле config
    channels = [
        647074685535649802, 
        636901028478058497, 
        690272147050070158, 
        694196995887202375, 
        690276595578962177, 
        654662320735387648, 
        650381379892412426, 
        641704849196711976,
    ]
    badwords = ["лузер", "расизм", "нацизм"]
    valid_users = ["Resadesker#1103"]
    unwarnusers = ["ResadeskerBOT#7104"]
    if str(message.author) in valid_users:
        for channelo in channels:
            if message.content[:message.content.find(' ')] == "$spam":
                channel = client.get_channel(channelo)
                await channel.send(message.content[message.content.find(' '):]) 
    for word in badwords:
        if word in message.content.lower():
            if str(message.author) != "ResadeskerBOT#7104":
                warnFile = open("D:/python/disbot/warns.txt", "a")
                warnFile.write(str(message.author) + "\n")
                warnFile.close()
                mutedRole = discord.utils.get(message.guild.roles, name='JB-MUTED')
                await member.add_roles(mutedRole)
                channel = client.get_channel(696315924591935488)
                await channel.send(f"--------------------\nЗа человеком {message.author.mention} было замечено нарушение. \nВот его сообщение: \n{message.content} \nНарушение было в канале {message.channel}\n--------------------")
client.run(config.TOKEN)

1 Ответ

0 голосов
/ 05 апреля 2020

Вы используете старый код до перезаписи discord.py, но используете более новую версию.

Просто измените:

@client.event
async def on_message(message, member):

на

@client.event
async def on_message(message):

И это должно работать.

...