当前位置: 首页 > 知识库问答 >
问题:

不和谐Python机器人不发送响应命令

钱经业
2023-03-14

我们正在创建一个不和谐机器人。

问题是控制台中没有错误,但不和谐聊天也是空的。所以完全没有回应。你能帮我说说我的错误是什么以及如何解决这个问题吗

祝你一切顺利,尼克斯

import discord
from discord.ext import commands
import asyncio
from dotenv import load_dotenv
from discord.ext.commands import Bot

import askai

import numpy
import random
import json
import datetime as DT
from time import sleep
import sLOUT as lout
import os

botStartTime = DT.datetime.now()
ver = ['v1.0.8', '2021-01-13']
config = 'config.yml'
bot = commands.Bot(command_prefix = '!')
lout.writeFile('AskAIBotLogs.txt', '\naskai initialisiert!', True)
load_dotenv()


@bot.command(pass_context=True)
async def time(ctx):
    startTime = DT.datetime.now()
    await ctx.send('Auf dem server ist aktuell folgende Uhrzeit: {}'.format(DT.datetime.now()))
    lout.log(config, startTime, 'time')

@bot.event
async def on_ready():
  await bot.change_presence(activity=discord.Activity(type=1, name='Beantwortet Fragen', url='https://www.youtube.com/watch?v=e3tuUKGIaGw', platform='YouTube', assets='askai',))
  lout.log(config, botStartTime, None, None, True)
  print('Eingeloggt als {}'.format(bot.user.name))

@bot.event
async def on_message(message):

  if message.author.bot:
    return
  if message.channel.name != "askai-support":
    return
  if message.content.startswith("!"):
    return

  await bot.process_commands(message)
  await message.channel.send(askai.ask(message.content))


bot.run('token')

共有1个答案

乐正晟
2023-03-14

为什么它不起作用?答案很简单。请参考您提供的以下行:

@bot.event
async def on_message(message):

  if message.author.bot:
    return
  if message.channel.name != "askai-support":
    return

在代码的这一点上,您提供了通道名称。尽管如此,您不会在之后提供通道ID。因此,机器人无法获得所述通道。要获取频道ID,请参阅此处的Discord官方指南。执行此操作后,生成与上面相同的代码行,但将“message.channel.name”替换为“message.channel.ID”。如果您还有任何问题,请告诉我。顺致敬意,

 类似资料:
  • 请不要说“已经回答”,因为我尝试了一切,包括这里的所有相关帖子,显然,我正在阅读api文档。 完全错误为: 忽略on_ready Traceback(最近一次调用)中的异常:文件“/usr/local/lib/python3.8/dist packages/discord/client.py”,第312行,在on_ready wait channel中的事件wait coro(*args,**kw

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 我开始写一个Discord机器人,但我已经设法遇到了一个问题。我只是写了他写的东西,做了一些小改动,不会对程序产生太大影响。我有两个类,主类只获取bot的令牌,然后使用 下面是MyBot.cs: 它可以连接,机器人也可以在线。这是我的控制台中的输出: 当我现在打字的时候。一般来说,什么都不会发生。控制台中没有,一般情况下也没有。我已经看过了,但它并没有解决我的问题 编辑:我知道我应该使用Comma

  • 我正在尝试制作一个机器人,每4小时发送一次自动消息,但由于某些原因,它无法工作。我查看了所有的google和stack overflow,但没有一个答案能帮助我。不和谐是否改变了机器人发送消息的方式? 如果我试图运行这个代码,它会给我这个错误 任何帮助将不胜感激并感谢您的时间

  • 问题内容: 我正在使用Python处理User Discord Bot。如果机器人所有者键入内容,则该机器人将DM所有者提到的用户。 问题答案: 最简单的方法是使用扩展程序。在这里,我们使用转换器来获取目标用户,并使用仅关键字参数作为可选消息来发送目标用户: 对于discord.py的较新的1.0+版本,应使用而不是

  • 我使用repl。它让我的不和机器人。我使用Python并遵循本教程: https://www.youtube.com/watch?v=SPTfmiYiuok 这是我的代码: