我有一个 Python 中的 Discord bot,它读取 mongoDB 中的令牌并运行该机器人,同时运行一个线程以检查 DB 中的令牌是否已更改,如果已更改,则需要注销,然后再次运行其他令牌,我正在尝试使用 Client.close()
方法但没有成功
import discord
import requests
import pymongo
from threading import Thread
import time
DISCORD_TOKEN = ""
def get_discord_token():
client = pymongo.MongoClient(MONGO_KEY)
cursor = client.discord_db['Token_collection'].find({})
token = list(cursor)[0]['Token']
print(token)
return token
def verify_db(dc):
while True:
discord_token_db = get_discord_token()
if not discord_token_db == DISCORD_TOKEN:
dc.close()
return
time.sleep(10)
class DiscordClient(discord.Client):
def __init__(self, *args, **kwargs):
discord.Client.__init__(self, **kwargs)
async def on_ready(self):
print('Connected')
async def on_message(self,message):
print(message)
if __name__ == '__main__':
while True:
dc = DiscordClient()
print("Running bot")
DISCORD_TOKEN = get_discord_token()
Thread(target=verify_db, args=(dc,)).start()
dc.run(DISCORD_TOKEN,bot = False)
您知道如何使用 Client.close()
或通过其他方式实现吗?