首页 > 后端开发 > Python教程 > 使用 Amazon EC2 部署您的 Discord Bot

使用 Amazon EC2 部署您的 Discord Bot

DDD
发布: 2025-01-01 07:08:10
原创
364 人浏览过

准备好在云上托管您的第一个应用程序了吗? ​​☁️ 在本文中,我们将探索如何使用 Amazon EC2 部署您的 Discord 机器人?。虽然本指南提供了概述,但我的 Word Bot Github 存储库提供了逐步演练以让您的机器人启动并运行?


故事时间?

当我决定筛选我的 pythonpythonpython 文件夹时,我正在争论要编码的应用程序以及使用哪个服务来完成我的指导任务。就在那时,我重新发现了 2021 年的旧 Discord 机器人! ?

很兴奋,我启动了它......但它不起作用? Discord 更新了他们的 API,而我的机器人使用了已弃用的代码?这是对技术发展速度有多快的完美提醒。因此,我对其进行了改造,还有什么比使用 Amazon EC2 在云上托管它更好的方法呢? ?️


Deploy your Discord Bot using Amazon EC2

为什么选择Python? ?

  • 多功能性:Python 提供了广泛的库,使其成为各种开发用例的理想选择。
  • 易于使用:其简单易读的语法使编码变得高效且对初学者友好??。
  • 丰富的生态系统:使用像discord.py这样的库,可以很容易地与API交互?
  • 安全性:像 dotenv 这样的模块有助于安全地管理敏感的环境变量?

Deploy your Discord Bot using Amazon EC2

为什么选择EC2? ?

  • 可扩展性:Amazon EC2 可轻松扩展以满足不同工作负载的需求,从小型项目到企业级应用程序?
  • 可靠性:借助 AWS 强大的基础设施,24/7 轻松运行您的机器人 ⚡。
  • 灵活性:EC2 支持多种操作系统和配置?️。
  • 易于配置:即使对于初学者来说,设置 EC2 实例也很简单?️.

准备好你的机器人

如果您已经有一个机器人,请确保它已更新为最新的discord.py版本?。如果您不这样做,您可以使用我的 Word Bot 作为起点! ?

我的 Word Bot 最简单、最吸引人的功能之一就是用友好的“你好!”来响应用户。 ?当他们发送消息时。这是存储库中的片段:

# Bot setup
bot = commands.Bot(command_prefix="$", intents=intents)

# Simple command that responds with a random hello message
@bot.command(name="hello")
async def hello_command(ctx):
    async with ctx.typing():
        greeting = random.choice(hello_messages).format(user=ctx.author.display_name)
        await ctx.send(greeting)

登录后复制
登录后复制

此函数侦听消息?,检查内容是否为“$hello”,并以友好的消息作为回报进行响应?️。


部署您的机器人

以下是部署过程的快速概述。详细说明在存储库中!

1) 启动 EC2 实例 ?:

  • 登录 AWS 并转到 EC2 仪表板。
  • 单击“启动实例”并选择 Amazon Linux 2023 AMI
  • 选择实例类型(例如,免费套餐为 t2.micro)。
  • 配置您的实例设置,确保在安全组中启用 SSH 访问。
  • 将 .pem 密钥文件下载到 SSH 到您的实例。

2) 连接到您的实例 ?:

  • 打开终端或 Git Bash 并导航到 .pem 密钥所在的文件夹。
  • 通过 SSH 连接到您的 EC2 实例:

    # Bot setup
    bot = commands.Bot(command_prefix="$", intents=intents)
    
    # Simple command that responds with a random hello message
    @bot.command(name="hello")
    async def hello_command(ctx):
        async with ctx.typing():
            greeting = random.choice(hello_messages).format(user=ctx.author.display_name)
            await ctx.send(greeting)
    
    
    登录后复制
    登录后复制

3) 设置依赖项 ⚙️:

  • 更新包管理器并安装 Python 3 和必要的包(Discord 和 DotEnv):

     ssh -i your-key-name.pem ec2-user@your-ec2-public-ip
    
    登录后复制

4) 在 EC2 实例中安装 Git ?️:

  • 确保已安装 Git:

     sudo yum update -y
     sudo yum install python3 python3-pip -y
     pip3 install discord.py python-dotenv
    
    登录后复制

5) 克隆存储库 ?:

  • 使用克隆命令并导航到项目目录:

     sudo yum install git -y
    
    登录后复制

6) 设置环境变量 ?️:

  • 在根目录中创建一个 .env 文件并添加你的机器人的令牌:

     git clone https://github.com/yourusername/word-bot.git
     cd word-bot
    
    登录后复制

7) 运行机器人 ▶️:

  • 在您的 EC2 实例上启动机器人:

     echo "DISCORD_BOT_TOKEN=your-discord-token" > .env
    
    登录后复制

8) 让机器人在后台运行 ?:

要在关闭终端后保持机器人运行,请使用 screen:

  • 安装屏幕:

     python3 discord-bot.py
    
    登录后复制
    登录后复制
  • 开始新的屏幕会话:

     sudo yum install screen -y
    
    登录后复制
  • 在屏幕会话中运行机器人:

     screen -S discord-bot
    
    登录后复制
  • 按 Ctrl A,然后按 D 从屏幕会话中分离。

  • 稍后重新连接到会话:

     python3 discord-bot.py
    
    登录后复制
    登录后复制

与机器人的典型交互?

一旦您的机器人启动并运行,Discord 服务器中的典型交互可能如下所示:

Deploy your Discord Bot using Amazon EC2

是的,我的机器人的名字是 Wordie! ?但是嘿,我总是乐于接受有趣的建议!


你已经走到了最后! ??

在 Amazon EC2 上部署您的 Discord 机器人是将您的项目在云上实现的好方法 ☁️。凭借 Python 的简单性?以及 EC2 的灵活性,您可以轻松设置和扩展您的机器人,确保它 24/7 ⏰ 运行。通过遵循本指南中概述的步骤,您已经学会了如何以最少的麻烦启动并运行您的机器人。

还记得云计算的美妙之处吗?就是你的机器人可以和你一起成长!无论您是要添加新功能、提高性能还是只是进行试验?EC2 都会提供资源来支持您的旅程。

所以,继续吧——给你的机器人一些个性和功能,然后看着它在云端茁壮成长! ?如果您在此过程中遇到任何障碍,请不要忘记检查故障排除部分或参考 Discord API 文档?


编码愉快! ??‍??‍?

以上是使用 Amazon EC2 部署您的 Discord Bot的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板