【问题标题】:Discord bot using python使用 python 的不和谐机器人
【发布时间】:2021-05-24 03:38:27
【问题描述】:

我使用 python 创建了一个用于不和谐的机器人,但问题是当我停止 PyCharm 进程时,该机器人不再工作。我需要一些帮助谢谢。

这是代码的一部分:

import discord

client = discord.Client()

@client.event
async def on_message(message):
    id = client.get_guild(id)

    if message.content.find("!about") != -1:
        await message.channel.send( "Hello, my name it is Py-Boot i am a beta version created by @Marin#2404, am not fully functionaly and Hello ")

    elif message.content == "!Users":
        await message.channel.send(f""" List of members: {id.member_count} """)

client.run('token')

【问题讨论】:

  • 你使用的是windows、mac还是linux?
  • 有道理...您正在停止机器人,如果它没有运行,它应该如何工作?大声笑
  • 我使用的是 windows 10
  • 如果您停止机器人,它就无法工作。它必须运行才能正常工作。
  • 我知道,但我想像其他人一样制作不和谐的机器人,我认为他们在 24/24 小时没有进程

标签: python discord discord.py


【解决方案1】:

从技术上讲,您可以通过使用 UptimeRobot 和 repl.it 来让您的机器人 24/7 免费运行,我也是 discord.py 场景的新手,但我已经设法做到了

https://www.youtube.com/watch?v=SPTfmiYiuok

这是快速教程的链接,但这里是粗略的解释

转到 UptimeRobot 并创建一个帐户,然后使用您的 discord.py 链接(repl 链接)添加一个新监视器,然后该网站将每 5 分钟 ping 您的代码,这将使您的机器人无法睡眠

在您的 discord.py 文件旁边创建一个名为 keep_alive 的新 .py 文件并将此代码复制到

from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def home():
    return "Hello. I am alive!"

def run():
  app.run(host='0.0.0.0',port=8080)

def keep_alive():
    t = Thread(target=run)
    t.start()

然后将文件名导入到主discord.py文件中

from keep_alive import keep_alive

我很确定您不能在 pycharm 中执行此操作,因为它不能通过任何方式“ping”,因此当您关闭计算机时它会关闭。但是很容易将您的代码传输到 repl.it,因为它只是一个复制粘贴。

【讨论】:

    【解决方案2】:

    如果你停止 Pycharm。然后机器人将停止运行。查看 crontab 以临时运行您的机器人,或者如果您希望它永远运行并且始终可用,则可以使用某种形式的托管。否则,您需要手动保持进程运行。

    【讨论】:

    • Cronjob 是用于 Ubuntu 的吗?
    • 是的。它适用于所有 Unix 操作系统。这是一个基于时间的作业调度程序。所以你可以做一些事情,比如每小时运行你的机器人几分钟等等。
    • 我用的是windows所以不能用crontab
    猜你喜欢
    • 2021-10-30
    • 2021-05-27
    • 2021-07-15
    • 2021-12-21
    • 2021-03-29
    • 2021-07-11
    • 2021-03-25
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多