DiscordBot 24/7 BY Render
❀ 前言 ❀
最近發現 UptimeRobot 不再支援 replit.co 了,所以改用 Render 架設我的機器人
詳細資料點我
如果想知道怎麼寫 Discord Bot 也可以看這篇
❀ 正題 ❀
VScode 端
上傳至 Github
首先要把自己的專案上傳至 Github,
我是透過 Visual Studio Code 上傳。
詳細請參考…
!!!注意!!!
別把自己的 token 上傳,那要怎麼啟動 bot 呢
所以這邊就先來講講 Environment Variable 的用法啦!
阿對了,上傳 VScode 檔案至 Github 可參考這篇~
設定環境變數
新增一個
.env
檔![]()
在裡面新增變數
![]()
os
透過
os
模組就能將值存取出來啦(需用 visual studio code 的 run and debug)![]()
run and debug 在這,也可以按
F5
![]()
成功會長這樣
![]()
用終端機執行會長這樣
![]()
dotenv
也可以使用 dotenv 這個模組
先輸入下面這行安裝模組
pip install python-dotenv
載好之後就能用
dotenv.load_dotenv()
把變數提取出來啦(終端機也可喔)![]()
成功會長這樣
![]()
當然,如果把 .env 檔也傳上 Github 就功虧一簣了
.gitignore
這邊利用
.gitignore
選擇 GitHub 不會讀到那些 File![]()
上傳至 Github
都設定完畢後,就可以上傳 Github 啦
Render 端
先申請一個 Render 帳號
新增一個 Web Service
![]()
新增 Github 授權給 Render
![]()
滑至下方 Repository Access 設定要授權的 Repository
![]()
也可選擇特定 Repository
![]()
設定
再來就是設定頁,最重要的是 Start Command
gunicorn main
主要看用的是哪一個程式去驅動(這個專案我是以 main.py 啟動)
其餘設定(Instance Type 記得調成 free)
![]()
再來是 Environment Variable 的設定(他讀不到在你電腦中的
.env
,因此要把.env
的設定複製來這邊)
本地有什麼參數,這邊就要有什麼參數![]()
成功會長這樣,記得複製此網址,等等會用到
![]()
UptimeRobot 端
現在可以啟動 Discord Bot 了
要怎麼達成 24/7 呢
先申請一個 UptimeRobot 帳號
Type 選擇 Https
![]()
設定分別填入專案名跟剛剛複製的網址
![]()
這邊是設定要不要收到通知
![]()
❀ 後話 ❀
最近終於比較閒了,才來重新研究 Discord Bot
網路上的教學卻都是很久以前的(我寫 Bot 的時候的)
現在 Replit.co 不支持 UptimeRobot
Heroku 要收費
所以研究了 Render,死很久的 Discord Bot 才活起來