<i id='Bb5bY'><tr id='Bb5bY'><dt id='Bb5bY'><q id='Bb5bY'><span id='Bb5bY'><b id='Bb5bY'><form id='Bb5bY'><ins id='Bb5bY'></ins><ul id='Bb5bY'></ul><sub id='Bb5bY'></sub></form><legend id='Bb5bY'></legend><bdo id='Bb5bY'><pre id='Bb5bY'><center id='Bb5bY'></center></pre></bdo></b><th id='Bb5bY'></th></span></q></dt></tr></i><div id='Bb5bY'><tfoot id='Bb5bY'></tfoot><dl id='Bb5bY'><fieldset id='Bb5bY'></fieldset></dl></div>
  • <small id='Bb5bY'></small><noframes id='Bb5bY'>

    <legend id='Bb5bY'><style id='Bb5bY'><dir id='Bb5bY'><q id='Bb5bY'></q></dir></style></legend>

      <tfoot id='Bb5bY'></tfoot>
        <bdo id='Bb5bY'></bdo><ul id='Bb5bY'></ul>
      1. 检查不和谐机器人是否在线

        Check if Discord bot is online(检查不和谐机器人是否在线)

            <i id='3i49F'><tr id='3i49F'><dt id='3i49F'><q id='3i49F'><span id='3i49F'><b id='3i49F'><form id='3i49F'><ins id='3i49F'></ins><ul id='3i49F'></ul><sub id='3i49F'></sub></form><legend id='3i49F'></legend><bdo id='3i49F'><pre id='3i49F'><center id='3i49F'></center></pre></bdo></b><th id='3i49F'></th></span></q></dt></tr></i><div id='3i49F'><tfoot id='3i49F'></tfoot><dl id='3i49F'><fieldset id='3i49F'></fieldset></dl></div>
            <legend id='3i49F'><style id='3i49F'><dir id='3i49F'><q id='3i49F'></q></dir></style></legend>

            <tfoot id='3i49F'></tfoot>
              <bdo id='3i49F'></bdo><ul id='3i49F'></ul>
                <tbody id='3i49F'></tbody>

                <small id='3i49F'></small><noframes id='3i49F'>

                • 本文介绍了检查不和谐机器人是否在线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试这样做,以便我的bot一次只有一个实例可以连接到Discorde,而另一个只有在另一个没有连接的情况下才能连接。我怎么才能做到这一点呢?我正在使用Discord.py。另外,如果可能的话,我希望它能跨多台计算机工作。

                  推荐答案

                  如果您问的是我认为您在问的问题,即在任何时候都应该只允许机器人在计算机上运行其自身的一个版本,那么这应该适用于您只希望一次运行其中一个脚本的所有情况。

                  我们可以这样做的一种方法是让脚本创建一个锁定文件,如果该文件已经存在,则退出。只要记住在我们完成后删除它,即使机器人崩溃了。 (这里可能有更好的方法来处理错误,您的bot代码本身应该尽最大努力处理bot可能生成的错误。在大多数情况下,discord.py即使出现错误也会继续运行。这将只获得严重的bot崩溃内容,并确保您可以看到发生了什么,同时仍然优雅地关闭并确保锁文件被删除。)

                  import discord
                  from discord.ext import commands
                  import os  # for file interactions
                  import traceback
                  # etc.
                  
                  bot = commands.Bot(description="Hard Lander's lovely bot", command_prefix="!")
                  @bot.event
                  async def on_ready():
                      print("I'm ready to go!")
                      print(f"Invite link: https://discordapp.com/oauth2/authorize?client_id={bot.user.id}&scope=bot&permissions=8")
                  
                  def main():
                      bot.run("TOKEN")
                  
                  if __name__ == '__main__':
                      running_file = "running.txt"
                      if os.path.isfile(running_file):  # check if the "lock" file exists
                          print("Bot already running!")
                          exit()  # close this instance having taken no action. 
                      else:
                          with open(running_file, 'w') as f:
                              f.write("running")
                      try:  # catch anything that crashes the bot
                          main()
                      except:  # print out the error properly 
                          print(traceback.format_exc())
                      finally:  # delete the lock file regardless of it it crashed or closed naturally. 
                          os.unlink(running_File)
                          
                  

                  这篇关于检查不和谐机器人是否在线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  GUI Freezes while downloading PyQt5 and Pytube(GUI在下载PyQt5和Pytube时冻结)
                  How to solve memory issues while multiprocessing using Pool.map()?(如何解决使用Pool.map()进行多处理时的内存问题?)
                  Python - How to use FastAPI and uvicorn.run without blocking the thread?(Python-如何使用FastAPI和uvicorn.run而不阻塞线程?)
                  How to increment a shared counter from multiple processes?(如何从多个进程递增共享计数器?)
                  Using pika, how to connect to rabbitmq running in docker, started with docker-compose with external network?(使用pika,如何连接运行在docker中的rabbitmq,从docker开始-与外部网络连接?)
                  How to use .rolling() on each row of a Pandas dataframe?(如何对 pandas 数据帧的每一行使用.roll()?)

                  <small id='cSMqo'></small><noframes id='cSMqo'>

                  1. <i id='cSMqo'><tr id='cSMqo'><dt id='cSMqo'><q id='cSMqo'><span id='cSMqo'><b id='cSMqo'><form id='cSMqo'><ins id='cSMqo'></ins><ul id='cSMqo'></ul><sub id='cSMqo'></sub></form><legend id='cSMqo'></legend><bdo id='cSMqo'><pre id='cSMqo'><center id='cSMqo'></center></pre></bdo></b><th id='cSMqo'></th></span></q></dt></tr></i><div id='cSMqo'><tfoot id='cSMqo'></tfoot><dl id='cSMqo'><fieldset id='cSMqo'></fieldset></dl></div>
                  2. <legend id='cSMqo'><style id='cSMqo'><dir id='cSMqo'><q id='cSMqo'></q></dir></style></legend>
                      <tbody id='cSMqo'></tbody>
                      <bdo id='cSMqo'></bdo><ul id='cSMqo'></ul>
                          • <tfoot id='cSMqo'></tfoot>