top of page
Goo

[雜記]搬Discord bot到Azure上

原本是把Discord bot放到Replit上跑, 不過最近常遇到Replit上還在跑但bot已經下線的情況, 即使重新執行了、也沒報錯, bot還是沒有上線的奇怪情況


經過友人的指點, 才知道這是類似429 too many requests的問題, 是由於共享ip被用太多而造成的, 只能透過kill 1之後重新執行來換ip解決


後來實在太頻繁發生了, 於是就有了把bot搬到其它雲端的想法, 後來就決定試試搬到Azure

不過畢竟對server不熟, 花了好多時間採坑才弄好, 特此紀錄


首先就是先建立一台VM, 我選了Ubuntu做OS, 這步很簡單, 之後才是採坑的開始


到VM

因為是Ubuntu預設沒桌面環境而還不能用RDP連線, 只能選SSH(Bastion要錢):

  • 新增輸入安全性規則: 在VM的Azure網頁後台選擇 網路->新增輸入連接埠規則, 服務選擇SSH

  • : SSH連線會用到建VM產生的金鑰, 但還不能直接用要更改權限, 不然使用時會遇到Permissions too open的問題 在Linux上很好改直接chmod 400就行了, 但在Wnidows上就比較麻煩了, 最後是參考了這篇https://blog.csdn.net/joshua2011/article/details/90208741把安全性整個重設才成功

  • 連線: Wnidows用PowerShell輸入以下指令即可登入, 其中公用IP位址在Azure網頁後台的概觀頁面即可取得

ssh -i <私密金鑰路徑> 使用者名稱@公用IP位址

安裝

可以連到VM那接下來就是開始裝東裝西了

sudo apt update
sudo apt install nodejs npm
  • NVM: 節點版本管理器, 在上面安裝的版本居然只有v10, 後面會有用到的套件需要更高, 因此又裝了NVM來跟新Node.js

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install 16.13.1
  • discord.js: 跑js的Discord bot一定要用的

npm install discord.js
  • yarn與pnpm: 在Node.js 16.9.0之後的版本要使用都需要用到yarn跟pnpm

npm install yarn
npm install pnpm
yarn add discord.js
pnpm add discord.js
  • express: 因為我的bot有用到, 所以需要特別裝

npm install express


上面那些都搞定後, 把原本bot的js檔放到VM裡, 然後在VM上的Termainal執行就大功告成了

node xx.js




117 次查看0 則留言

Opmerkingen


文章: Blog2_Post
bottom of page