怎样在 Ubuntu 21.04 上运行 Python Discord Bot

简介

Discord 是一个视频、语音和文本通信平台,允许机器人根据用户命令执行自动化任务。 本文介绍了如何运行基于 Python 的 Discord 机器人并将其托管在 Vultr 的 Ubuntu 21.04 云服务器上。

1. 创建一个 Discord 应用程序

前往 Discord 开发者门户 并登录。 单击 新应用 按钮。 输入应用程序名称并单击 创建. 选择 机器人 选项卡从 设置 菜单。 点击 添加机器人 然后点击 是的,做!. 点击 复制 将您的机器人的令牌复制到剪贴板。 保存副本以在本指南后面使用。

2. 安装先决条件

部署一个 Vultr Ubuntu 21.04 云服务器实例登录
更新 Ubuntu 服务器

安装 Python 点子 包管理器。

# apt install python3-pip -y

为 Python 安装 Discord API 包装器。

# pip install discord.py

3. 创建 Discord Bot

切换到您的主目录。

# cd ~

创建项目文件夹。

# mkdir discord-bot

切换到项目文件夹。

# cd discord-bot

创建一个名为的python文件 discord_bot.py.

# nano discord_bot.py

将此示例代码粘贴到您的 discord_bot.py 文件。 替换 <YOUR BOT TOKEN> 使用您在第 1 部分中保存的令牌。

import discord

TOKEN = '<YOUR BOT TOKEN>'

client = discord.Client()

@client.event
async def on_ready():
    print('We have successfully loggged in as {0.user}'.format(client))


@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.lower() == 'hello':
        await message.channel.send(f'Hello, {message.author.display_name}!')
        return

    if message.content.lower() == 'bye':
        await message.channel.send(f'See you later, {message.author.display_name}!')
        return

client.run(TOKEN)

保存并退出文件。

4. 运行 Discord Bot

当您退出 SSH 会话时,您的 Discord 机器人停止运行。 要保持机器人全时运行,请使用 多路复用器 或者 PM2.

选项 1:使用 Tmux 运行机器人

按照本指南安装 Tmux。

创建一个 tmux 会话。

# tmux new -s DiscordBot

切换到 Discord bot 项目目录。

# cd ~/discord-bot 

启动机器人。

# python3 discord_bot.py

要停止 Discord Bot,请按 CTRL + C

选项 2:使用 PM2 运行机器人

PM2 是 Python 的进程管理器。

安装 npm。

# apt install npm -y 

安装 PM2。

# npm install -g pm2

切换到 Discord bot 项目目录。

# cd ~/discord-bot 

启动机器人。

# pm2 start discord_bot.py --interpreter=/usr/bin/python3

常用 PM2 命令

确保您在 ~/discord-bot 目录,然后使用这些命令来控制您的机器人。

列出所有 PM2 进程:

# pm2 list

停止 Discord 机器人:

# pm2 stop discord_bot.py

重新启动 Discord 机器人:

# pm2 restart discord_bot.py

5. 邀请机器人加入 Discord 服务器

前往 Discord 开发者门户 并登录。单击您创建的应用程序。 导航到 OAuth2 标签从 设置 菜单。 在 范围 部分,选择 机器人. 在 机器人权限 部分,选择 行政人员. 这为机器人提供了来自 Discord 服务器的管理员角色。 单击 复制 复制生成的邀请链接的按钮。 在浏览器上打开邀请链接。 为机器人选择 Discord 服务器,然后单击 继续. 授权机器人并完成验证码。

Discord 机器人现已启动并运行。

更多信息

要了解有关 Discord 机器人的更多信息,请参阅以下资源:

不和谐的文档
Discord 开发者门户
Discord.py 的文档

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com