【发布时间】:2020-05-10 07:19:47
【问题描述】:
我正在尝试用 Python 制作一个 Discord 机器人,它根据您所在的班级(在我的学校)为您提供 Discord 服务器上的角色。我刚刚开始,但每当我尝试运行它时都会收到错误消息(我在 Python 3 Notebook 中的 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
如果我将client.run 命令放在底部,程序永远不会到达它,因为循环会阻止它到达命令。
我错过了什么吗?我不知道问题出在哪里。非常感谢帮助。
【问题讨论】:
标签: python google-colaboratory discord.py