怎样在 Docker 应用程序上运行 Python Discord Bot

介绍

Discord 是一个视频、语音和文本通信平台,允许机器人根据用户命令执行自动化任务。 本文介绍了怎样在 Docker 应用程序上运行基于 Python 的 Discord 机器人。

1. 创建一个 Discord 应用程序

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

2. 安装先决条件

部署一个 Ubuntu 20.04 上的 Docker 应用程序 云服务器实例来自 Vultr 市场应用程序
登录为

为 Python 安装 Discord API 包装器。

# pip install discord.py

3. 创建 Discord 机器人

切换到您的主目录。

# 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)

Discord bot 应该响应命令,例如 hello, 和 bye.

保存并退出文件。

创建一个 Dockerfile.

# nano Dockerfile

将此粘贴到您的 Dockerfile.

FROM python:3
FROM gorialis/discord.py

RUN mkdir -p /usr/src/bot
WORKDIR /usr/src/bot

COPY . .

CMD [ "python3", "discord_bot.py" ]

保存并退出 Dockerfile.

4. 运行 Discord Bot

切换到 Discord bot 项目目录。

# cd ~/discord-bot

为 Discord 机器人构建 docker 容器。

# docker build -t discord-bot .

运行 docker 容器。

# docker run -d discord-bot

运行机器人 -d flag 以分离模式运行容器(它在后台运行)。

常见的 Docker 命令:

列出所有 docker 进程:

# docker ps

停止 docker 容器(discord bot):

# docker stop <CONTAINER ID>

重启docker容器:

# docker restart <CONTAINER ID>

你可以找到 <CONTAINER ID> 当您列出所有 Docker 进程时。

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

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

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

更多信息

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

Discord 的文档
开发者门户
Discord.js 网站
Docker 文档

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

相关阅读:

Posted in: LinuxTags: