Почему эта Программа не может получать сообщения без ошибок в файле discord.py - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь проверить, содержит ли сообщение, отправленное в разногласиях, конкретное содержание (конечная цель - анти-ругательный бот), и я получаю эту ошибку всякий раз, когда отправляется сообщение.

Bot is ready. Ignoring exception in on_message Traceback (most recent call last):   File "C:\Users\Coran\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\client.py", line 251, in _run_event
    await coro(*args, **kwargs)   File "C:\Users\Coran\OneDrive\Desktop\Bully bot\bullybot.py", line 32, in on_message
    if message.content.includes("E"): NameError: name 'message' is not defined

Программа

import discord 
import random 
from discord.ext import commands

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

@client.event 
async def on_ready():
    print ("Bot is ready.")

@client.command() 
async def ping(ctx):
    await ctx.send(f'Pong! {client.latency * 1000}ms')

@client.command(aliases=['8ball']) 
async def _8ball(ctx, *, question):
    responses = ['It is certain.',
                 'It is decidedly so.',
                 'Yes - definitely.',
                 'Reply hazy, try again.',
                 "Don't count on it.",
                 'Outlook not so good.',
                 'Very doubtful.']
    await ctx.send(f'Question: {question}\nAnswer: {random.choice(responses)}')

@client.event 
async def on_message(ctx):
    print ("message sent.")
@client.event 
async def on_message(ctx):
if message.content.includes("E"):
    print ("Yay")

Код должен печатать yay в консоли при отправке сообщения, содержащего E, и ничего не печатать, если сообщение не содержит E. Однако я получаю только эту ошибку независимо от того, что отправлено.

...