Discord.py 机器人没有响应

2024-04-01

我对discord.py相对较新,我正在制作一个机器人,但是使用某些命令或我放置的东西,机器人停止响应命令(当它以前工作时),我不知道如何修复它,机器人开启,但不响应任何命令

这是新的区域

import os
import discord
from discord.ext import commands
from dotenv import load_dotenv
import urllib.request
import json
import keep_alive
import time
import asyncio
import urllib
import datetime
import pymongo
import levelsys
from discord.ext.commands import Bot
from pymongo import MongoClient

client = discord.Client()

talk_channels = []

cluster = MongoClient('mongodb+srv://endercraft46:<______>@enderbot.93khp.mongodb.net/myFirstDatabase?retryWrites=true&w=majority')

levelling = cluster["discord"]["levelling"]

bot = Bot(command_prefix="!", intents=discord.Intents.all())
async def on_ready(self):
  print(f'Conectado a {self.user}')

for i in range(len(cogs)):
  print(f'En linea!')

@bot.event
async def on_ready():
    print('Ready')
    while 1:
        urllib.request.urlopen("https://Enderbotpy.endercraft26.repl.co")
        await asyncio.sleep(500)

############################LEVELSYS###################################################

@commands.Cog.listener()
async def on_message(self, message):
  stats = levelling.find_one({"id" : message.author.id})
  if not message.author.bot:
      if stats is None:
        newuser = {"id" : message.author.id, "xp" : 100}
        levelling.insert_one(newuser)
      else:
        xp = stats["xp"] + 5
        levelling.update_one({"id":message.author.id}, {"$set":{"xp":xp}})
        lvl = 0
        while True:
          if xp < ((50*(lvl**2))+(50*lvl)):
            break
            lvl += 1
        xp -= ((50*((lvl-1)**2))+(50*(lvl-1)))
        if xp == 0:
          await message.channel.send(f'felicidades {message.author.mention}, subiste de nivel a **nivel: {lvl}**!')

@bot.command()
async def rank(self, ctx):
  stats = levelling.find_one({"id" : ctx.author.id})
  if stats is None:
       embed = discord.Embed(description='no has enviado ningun mensaje, por lo tanto, no tienes rango')
       await ctx.channel.send(embed=embed)
  else:
    xp = stats["xp"]
    lvl = 0
    rank = 0
    while True:
      if xp < ((50*(lvl**2))+(50*lvl)):
        break
      lvl += 1
    xp -= ((50*((lvl-1)**2))+(50*(lvl-1)))
    boxes = int((xp/(200**(1/2) * (lvl)))*20)
    rankings = levelling.find().sort("xp",-1)
    for x in rankings:
        rank += 1
        if stats ["id"] == x["id"]:
          break
          embed = discord.Embed(tittle="{}'s level stats".format(ctx.author.name))
          embed.add_field(name="Name", value=ctx.author.mention, inline=True)
          embed.add_field(name="XP", value=f"{xp}/{int(200*((1/2)*lvl))}")
          embed.add_field(name="Rank", value=f"{rank}/{ctx.guild.member_count}")
          embed.add_field(name="Progress Bar [lvl]", value=boxes * ":blue_square:" + (20-boxes) * ":white_large_square:", inline=False)
          await ctx.channel.send(embed=embed)

我添加的新东西是一个级别系统,但在某个地方它出现了错误


错误在于你的on_message事件,因为它需要命令作为普通消息来修复此问题,您只需添加await self.client.process_commands(message)在结束时on_message event

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Discord.py 机器人没有响应 的相关文章

随机推荐

  • 在 AVPlayer 中播放网络状况不佳的流媒体

    当 AVPlayer 播放来自网络流的资源时 它会在到达下载内容的末尾时暂停 所以 我的问题是 如何知道它是因为网络不好而停止的 下载后如何播放 比如说 接下来的 10 秒资源 当 AVPlayer 的缓冲区为空时 您可以添加一个观察者 s
  • 如何替换不可打印的 unicode 字符 (Javascript)

    我已经浪费了大量的时间来处理字符串 由其他一些源生成 并且我发现问题在于字符串具有不可打印的字符 今天我正在处理 javascript 有谁知道如何替换javascript中不可打印的unicode字符 我在这里发现了类似的东西 如何在 J
  • 以适度可扩展的方式交付活动提要项目

    我正在开发的应用程序有一个活动源 每个用户都可以在其中看到他们朋友的活动 很像 Facebook 我正在寻找一种适度可扩展的方式来动态显示给定用户的活动流 我说 适度 是因为我希望只用一个数据库 Postgresql 来做到这一点并且may
  • 在 Ubuntu 上使用 R 获取抗锯齿图

    我升级了系统并重新安装了 R 现在我的标准 X 11 绘图没有抗锯齿 它们看起来呈锯齿状 而且字体看起来很糟糕 我似乎记得过去有过这样的问题 但不记得我做了什么 其他一些信息 qplot也出来了非抗锯齿 绘制到一个png设备也产生非抗锯齿输
  • 如何在 Flutter 中添加文件选择器插件?

    我正在创建一个 Flutter 项目 其中有一段数据 JSON 我想将其导入和导出到用户想要的位置 为了实现这一目标 我需要一个File PickerFlutter 中的插件 现在 我搜索了Dart Packages存储库 file pic
  • 如何使用 create-react-app 提供 SSL 证书?

    我正在尝试托管一个我使用 Facebook 样板在本地创建和测试的 React 应用程序 客户端应用程序与我使用 node js 制作的 API 进行交互 并且我在设置安全连接时没有遇到任何问题 使用 node js 客户端发送我的 SSL
  • Xcode 11.4 编译错误“缺少包产品 <包名称>”

    当我整合一个本地包 https developer apple com documentation xcode creating a standalone swift package with xcode在我的 Xcode 项目中 最初一切
  • 使用 JAXB 将元素表示为布尔值?

    我们有这个 XML
  • 如何使用urllib登录网站?

    我正在尝试登录这个网站 http www broadinstitute org cmap index jsp http www broadinstitute org cmap index jsp 我在 Windows 上使用 python
  • EasyMock 中“same”和“eq”的区别

    EasyMock 中的 same 和 eq 之间是否存在显着 甚至任何 差异 same检查两个对象是否实际上是同一个实例 引用相等 eq calls equals因此检查两者是否具有相同的值 值相等 请记住 默认equals实施用途 内部
  • Tensorflow 相当于 numpy.diff

    是否存在相当于的张量流numpy diff https docs scipy org doc numpy reference generated numpy diff html 计算沿给定轴的第 n 个离散差值 对于我的项目 我只需要 n
  • ARM 9处理器的opencv交叉编译

    我需要为 ARM 9 处理器交叉编译 opencv 我有处理器的工具链 但不知道如何交叉编译 请告诉我为arm板交叉编译的过程 谢谢大家 看这个参考 http www airs com ian configure configure 5 h
  • 在 Android 中使用签名 URL 从 Amazon S3 + CloudFront 播放 m3u8

    我能够使用签名 URL 访问播放列表文件 m3u8 但问题是 要访问播放列表中的流文件 ts 每个文件的 URL 也需要签名 例如 我可以使用签名 URL 访问 playlist m3u8 EXTM3U EXT X TARGETDURATI
  • 在模态 JDialog 之外时光标不正确?

    使用方法时setCursor 要更改组件使用的光标 所有组件都可以正常工作 包括JFrame and JDialog 这里的问题在于modal JDialog 当鼠标处于inside对话框中 光标显示在右侧 但是 当鼠标移动时outside
  • 使用 AngularJS 和 ngResource 调用外部 api

    我们目前正在开发一个小型 AngularJS 项目 并从前端开始 所以纯 HTML 和 JavaScript 然而 我们需要使用 ngResource 进行一些 API 调用 目前我们正在使用canned http github com s
  • 将 Google Apps API 密钥与距离矩阵结合使用

    我正在使用谷歌距离矩阵 API https developers google com maps documentation distancematrix 并且文档告诉我我需要一个 API 密钥 但我可以在没有 API 密钥的情况下使用它
  • 当 AngularJS 中的响应为 304(未修改)时,$http 返回错误

    我正在使用 angularjs http 向 asp net web api 发出请求 服务器上的 Web API 通过 ETag 管理缓存 如果我的响应状态代码是 304 那么它会进入错误函数 而不是成功函数 我不明白 AngularJS
  • 在 DataGrid 工具栏的弹出组件 Material-UI 中添加自定义样式

    我正在创建一个自定义Data Grid Toolbar通过修改现有组件Grid Toolbar组件来自材质 UI https v4 mui com Here https v4 mui com components data grid fil
  • WWW::Mechanize::Timed https 超时不起作用

    所以我在互联网上研究了这个问题 至少我是这么认为的 我正在尝试设置一个alarm超时 60 秒get 但它不会被捕获 并且会运行超过 60 秒 而且每当 www mechanized timed 构造函数达到默认超时 180 秒 时 我都会
  • Discord.py 机器人没有响应

    我对discord py相对较新 我正在制作一个机器人 但是使用某些命令或我放置的东西 机器人停止响应命令 当它以前工作时 我不知道如何修复它 机器人开启 但不响应任何命令 这是新的区域 import os import discord f