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

在客户端接收运行时错误。运行我的discord时运行(“令牌”)。py机器人

仰成天
2023-03-14

我试图用Python制作一个不和谐机器人,根据你所在的班级(在我的学校),给你一个不和谐服务器上的角色。我刚刚开始,但每当我试图运行它时,我都会收到一个错误(我在Python 3笔记本电脑中的Google Colab中运行它)。这是我的代码:

from datetime import date
import time
import discord

client = discord.Client()

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

client.run('my token (not shown for obvious reasons)')

starttime=time.time()
while True:
  currentTime = time.strftime("%H:%M")
  print("new minute")
  if 0 <= date(int(time.strftime("%Y")), int(time.strftime("%m")), int(time.strftime("%d"))).weekday() <= 4:
    if currentTime == "13:41":
      print("First hour has started!")
    elif currentTime == "13:45":
      print("First hour has started! (hs)")
    elif currentTime == "14:30":
      print("First hour has ended at high school.")
  time.sleep(60.0 - ((time.time() - starttime) % 60.0))

当我运行它时,它会显示以下错误:

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-5-d40f2b4200ae> in <module>()
      9     print('We have logged in as {0.user}'.format(client))
     10 
---> 11 client.run('my token')
     12 
     13 starttime=time.time()

2 frames
/usr/local/lib/python3.6/dist-packages/discord/client.py in run(self, *args, **kwargs)
    570 
    571         try:
--> 572             loop.add_signal_handler(signal.SIGINT, lambda: loop.stop())
    573             loop.add_signal_handler(signal.SIGTERM, lambda: loop.stop())
    574         except NotImplementedError:

/usr/lib/python3.6/asyncio/unix_events.py in add_signal_handler(self, sig, callback, *args)
     92                             "with add_signal_handler()")
     93         self._check_signal(sig)
---> 94         self._check_closed()
     95         try:
     96             # set_wakeup_fd() raises ValueError if this is not the

/usr/lib/python3.6/asyncio/base_events.py in _check_closed(self)
    375     def _check_closed(self):
    376         if self._closed:
--> 377             raise RuntimeError('Event loop is closed')
    378 
    379     def _asyncgen_finalizer_hook(self, agen):

RuntimeError: Event loop is closed

如果我把客户端。运行底部的命令,程序永远不会到达它,因为循环阻止它到达命令。

我错过什么了吗?我不知道问题出在哪里。非常感谢您的帮助。

共有2个答案

欧阳绪
2023-03-14

基本上,如果你想在google colab上运行discord机器人,你需要做各种各样的破解。这里我使用discord。extpython库,执行此命令将被阻塞,并阻止您执行任何其他单元格。

!pip install discord.py
import nest_asyncio
nest_asyncio.apply()
 
import asyncio
await = lambda x: asyncio.get_event_loop().run_until_complete(x)
async def init(what, token):
    await what(token)
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix="")
async def start():
    await bot.wait_until_ready()
    print("ready")
    await bot.get_channel(channelID).send("hi")

bot.loop.create_task(start())

TOKEN = ""   #@param {type: "string"}

楚煜
2023-03-14

Jupyter笔记本是Google Colab所基于和使用的,它有自己的事件循环。
Client.run使用当前事件循环,如果没有指定,并在完成运行后关闭它。
你应该有能够在事件循环关闭之前运行它一次,并且连续尝试再次运行它会告诉您同样的情况。如果您想在同一个笔记本中多次运行事件循环,您将希望使用Client.start,并自行处理事件循环。

 类似资料:
  • 好吧,我遇到了一个错误,我不太清楚为什么,希望您能提供帮助。当我尝试运行它时,会遇到以下问题。 线程“main”java中出现异常。util。java中的NoSuchElementException。util。扫描仪。java上的throwFor(Scanner.java:907)。util。扫描仪。下一步(Scanner.java:1530)在java。util。扫描仪。nextInt(Scan

  • 当我想运行反应-本机运行-Android命令我看到 失败:构建失败,有一个异常。 > 哪里出错了:配置根项目'reactNativeCliTest'时出现问题。 无法解析配置“:classpath”的所有依赖项。无法下载gradle core。jar(com.android.tools.build:gradle-core:2.2.3)无法获取资源的https://jcenter.bintray.c

  • 在EJB中运行客户端代码时出错: 线程“Main thread”java中出现异常。lang.NoClassDefFoundError:weblogic上的weblogic/kernel/KernelStatus。jndi。环境(Environment.java:78)在weblogic。jndi。WLInitialContextFactory。javax上的getInitialContext(W

  • 问题内容: 我是mysql和jdbc的新手,但出现此标题错误。我整天都在搜索,找不到适合我的解决方案。 我尝试过的操作:卸载/重新安装mysql,将mysql-connector- java-5.1.25-bin.jar和ojdbc7.jar复制粘贴到与我要运行的.class文件相同的位置,然后将该程序重建在其他目录中,可能还有其他几件事。 我正在使用notepad ++进行编码,并使用Windo

  • 我正在尝试仅使用本地依赖项编译和运行java grpc客户端,但出现以下错误: 这是我的gradle文件: 程序将编译,但不运行。我已经从protos生成了我的java文件,并验证了我是否使用了正确的protoc和protoc gen grpc java与我正在使用的jar库相对应。非常感谢您的帮助。

  • 我收到一个奇怪的错误。在我初始化总数的线上。如果你有空闲时间帮我,我不明白; 第10行:Char 24:运行时错误:-inf超出了“int”(solution.cpp)类型的可表示值的范围摘要:UndefinedBehaviorSanitizer:undefined behavior prog_joined。cpp:19:24