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

客户和齿轮不和谐。派克

堵琨
2023-03-14

我最近开始尝试开发一个discord机器人。我以前使用过c,但这是我第一次使用python,所以我对它还是相当陌生。在了解cogs之后,我尝试将其实现到代码中。我制作了一个包含ping命令的简单cog,但是当我尝试运行它时,我得到一个错误,说“客户机”没有被识别。这是cog文件中的代码:

import discord
from discord.ext import commands

#initializing
class Commands(commands.Cog):
  def __init__(self, client):
    self.client = client
  
  @commands.command(aliases=['hi','hello','test'])
  async def ping(self, ctx):
    await ctx.send(f'Pong! Your request took {round(client.latency * 1000)}') #says 'client' was not idenified

def setup(client):
  client.add_cog(Commands(client))

这是主程序的代码。py文件:

import discord
import os
from discord.ext import commands

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


@client.command()
async def reload(ctx, extension):
    client.unload_extension(f'cogs.{extension}')
    client.load_extension(f'cogs.{extension}')


for filename in os.listdir('./cogs'):
    if filename.endswith('.py'):
        client.load_extension(f'cogs.{filename[:-3]}')

@client.event
async def on_ready():
  print(f'Bot is online. Logged in as {client.user.name}')
  await client.change_presence(status=discord.Status.online)
  await client.change_presence(activity=discord.Game("with my creator's mind"))

client.run(token goes here)

我试着把client=命令放进去。cog文件中的Bot(command_prefix='trs-')运行正常,但当我尝试在discord上运行ping命令时,控制台中出现错误,称ValueError:无法从wait ctx将float NaN转换为整数。发送线路。

我似乎无法解决这个问题,有人能告诉我我做错了什么吗?


共有1个答案

林念
2023-03-14

造成的错误是因为您试图将client.latency转换为整数,因为client.latency返回的值为无。它会出错。

 类似资料:
  • 当我尝试使用pause、stop和resume命令时,它会给出keyrerror。触发该错误的全部代码都在上面。错误是这样的: 忽略命令stop:Traceback(最近一次调用last)中的异常:文件“C:\Users\emirs\PycharmProjects\discordmasterbot\venv\lib\site packages\discord\ext\commands\core.p

  • 我有一个Discord Python bot,我正在尝试运行一个后台任务,该任务将持续每隔X秒向一个通道发送一条消息—无需任何命令。当前有任意5秒的测试时间。 这是有问题的齿轮文件(为了效率而删除了进口和诸如此类的东西) 我有一种感觉,这是因为self参数是唯一传递的参数,但我在阅读API文档时有点困惑,不知道在这里到底要做什么。 我尝试了而不是,我尝试了定义(但就我所读的内容而言,我不应该使用我

  • 当成员加入服务器时,bot不会以消息响应。有什么问题吗?

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

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

  • 我做了很多关于如何阻止一个频道使用命令的研究,比如Rythm的黑名单,但是我没有找到,有人能帮我吗?