キモオタクの部屋

終わりかけの大学生のブログ。不定期に更新します。

【Python】最近のdiscord.pyをrender.comで動かす

2023/03/16追記:render上でbotを動作させるにはWeb ServiceではなくBackground Workerにデプロイする必要があります。Background Workerは有料($7/month~)であり、以下のやり方では15分程度しか動作しません。全部ウソの情報です。ごめんにょ

こんにちは。キモオタクです。

ChatGPTが大流行している関係上、自分用のBotを作りたい!でも金はかけたくない!という人は多いのではないでしょうか。最近使った格安PaaSのrender.comが無料枠もあり、そういう人にはぴったりンゴねぇ…と思ったので紹介させていただきます。

render.comって?

webアプリとかを簡単に運用できるクラウドサービスで、特筆するべきは無料枠が存在する点です。あんまりアクセス数が見込まれないページとかBotとかを運用するのには必要十分(ギリギリ動くの意)のパワーがあります。

操作説明

今回はrenderアカウント作成から実際にDiscord Botを稼働させるところまでやります。

アカウント作成

まあ適当に…

サーバー作成

https://dashboard.render.com/から、右上のNew→Web Service

下のPublic Git repositoryから何か動きそうなリポジトリを選択

今日はこれ github.com

サーバー設定

Name、Build Command、Start Commandを設定(上記のリポジトリ&下の写真のBuild Commandだとエラー吐きます。requirements.txtが存在しないので…)

一番下のAdvancedからAdd Environment Variable
ここでPythonのバージョンを指定する。指定しないとpython3.7とかいうクッソ古いバージョンでビルドされて、discord.pyの新しいバージョンがインストールできなくてプログラムが動かないので注意!
(上記のリポジトリの場合、ここでDISCORD_TOKENとOPENAI_KEYを設定)

動作確認

コンテナがビルドされるのを待てば、無事Botが稼働します。流石に0.1CPUなので若干遅い気がしますが、まあ許容範囲内でしょう。

余談

無料枠だとShellが使えません。サーバーを再起動したい場合、右上のManual DeployからClear build cache & deployをすると実質再起動になります。

まとめ

いかがでしたか?参考になれば幸いです。コメントとチャンネル登録をぜひよろしくお願いします。