如何使用discord.py bot注销?

时间:2021-05-07 05:24:27

标签: python discord discord.py

我有一个 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() 或通过其他方式实现吗?

0 个答案:

没有答案