# discord 自动抽奖机器人(单机稳定版) 部署教学

By [scientist](https://paragraph.com/@scientist) · 2022-02-10

---

![](https://storage.googleapis.com/papyrus_images/be1597bdfd33b7e4e96c9e9d7873ff72785b4b2e6b183f6afb32dac5def31402.png)

首先感谢各位朋友对于 discord 自动抽奖机器人 的热烈回响，本篇会教学如何在家部署 discord 自动抽奖机器人单机稳定版 ( 不透过 Google Colab 执行)，顺便回复各位常遇到的问题\*\*。\*\*

部署单机版的好处是会让服务更稳定，不会因閒置太久被 Google 中断连线。
--------------------------------------

回到正题，第一个问题是为什麽 discord 抽奖机器人执行好好的要改用单机版呢？原因是[上篇所使用的](https://medium.com/@metasimon/discord-%E8%87%AA%E5%8B%95%E6%8A%BD%E7%8D%8E%E6%A9%9F%E5%99%A8%E4%BA%BA-giveaways-30ddac17c86) Google Colab 毕竟也是 Google 的免费版产品，若闲置太久 Google 会无预警中断连线以节省他们的运算资源，所以如不希望被 Google 中断连线，第一个最暴力的做法当然就是乖乖付费囉。( 月付 $49.99 美金的方案甚至还提供背景执行)

换句话说，也顺便回应部分狗友问题:

Q: 若程式执行中关闭浏览器分页会继续抽奖吗 ?

A: 要希望关闭浏览器分页还能在 Google Colab 上运行的话，只能选择 Golab Pro+ 付费版囉

![](https://storage.googleapis.com/papyrus_images/0c52fecdec965676f317fcff84cc9dbd4595d6963c24f75dd14d1a82aac51f35.png)

> 然而本篇存在的目的当然就是要帮大家省钱拉，若家中有桌机平时都没在关机的朋友们就非常适合使用，服务稳定又免费。

Step1. 先安裝 Anaconda
-------------------

( 如已安装者请跳至 Step2 )

> \*\*Anaconda 是什么 \*\*: 一个开源的Python和R语言的发行版本，用于计算科学，Anaconda致力于简化软件套件管理系统和部署。 ( — from wiki )\*\*Anaconda 下载连结 : \*\*[https://www.anaconda.com](https://www.anaconda.com) → Get Started → 第四个 Download Anaconda installers

![](https://storage.googleapis.com/papyrus_images/4dde812ac26f788a8c14c7d1fa49408fd891f8a0d64898500ea430c08bb47c26.png)

![](https://storage.googleapis.com/papyrus_images/23c6724e0c2a9834e21b210761f962ac29320361ca3665c05a9a0033b187ce0c.png)

安装步骤可参考下方影片

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=n83J8cBytus)

Step 2. 安装完毕后 → 工具列搜寻 Anaconda Navigator → 执行
---------------------------------------------

![](https://storage.googleapis.com/papyrus_images/2ddf97750a5a26e4efea4530ed5b59c950f0034d38d3f7f68c3127a22b29f091.png)

Step 3. 启动Jupyter Notebook
--------------------------

> \*\*Jupyter Notebook 是什么：\*\*一个可提供网页形式编写 python 程式，且程式编写完可直接于网页上执行并显示结果的工具，相当方便新手入门 python程式语言。

进入 Anaconda Navigator → launch **Jupyter Notebook**

![](https://storage.googleapis.com/papyrus_images/e90a86d772834ba672ecec14789230b18710066f497e2861de6026c6343f98fb.png)

点入后会询问是否开启网页，选择任一浏览器开启，看到这画面就成功了

Step 4. 新增程式码 & 执行
------------------

a. New 新档案 → 选择 Python 3

![](https://storage.googleapis.com/papyrus_images/c214b0f76d7bafed7acced8c032491e64e021934ceb9c5f68302cb2b109549ca.png)

b. 将我们在[前一篇文章](https://medium.com/@metasimon/discord-%E8%87%AA%E5%8B%95%E6%8A%BD%E7%8D%8E%E6%A9%9F%E5%99%A8%E4%BA%BA-giveaways-30ddac17c86)内的程式码贴过来，执行 (Run)，就恭喜大功告成了！

![](https://storage.googleapis.com/papyrus_images/1d7e85f227365487e3679cef308be6d6fcddb2f8a385b2d975ae50735fd406a2.png)

另外回应大家有问过的一些问题

Q: 有发现当同一抽奖频道若同时发布两个抽奖活动时，机器人只会点到最后一个，第一个会漏掉

A: 由于 Google Colab 是架在 Google Cloud Platform 上，一般会有 rate limit 的限制 ( 限制短时间发送大量 http request ) ← 感谢狗友 BitV 解答 。有个解法是在此处加上\* time.sleep(1) \*，让程式按完一个表情符号后停顿一秒再按下一个，可以解决这个问题。 ( 我已在程式码加上这段，若是在我更新之前已建立副本的朋友可能再检查一下 )

![](https://storage.googleapis.com/papyrus_images/5593376f2dfec05832c8e919095fb8c7072b143c513a51460f4a4dac1ace2b22.png)

Q: 请问可以监听一个以上的群组吗

A: 可以，目前架构下只要在输入 channel\_list 的位置，如下方格式新增即可

![](https://storage.googleapis.com/papyrus_images/84fa6cee4e750f05eb7186f5da70b4680c1691635c55da7898cd39aa4df44d13.png)

Q: 同上，若要参加多个抽奖的群组，内容关键字不一样的话，或是参加抽奖需要按的表情符号不同，该如何设定？

A: 以上功能已与狗友在规划中，会将目前程式码重新整理，到时会拆出设定档给大家方便使用，敬请期待

一些 Tips :
---------

1\. 慎选关键字
---------

一般抽奖频道可能会同时有已经抽奖完成的活动及正在抽奖的如下图，若以下图为例 我会建议要监听抽奖中活动的关键字就设定 “**GIVEAWAY**” 而不要设定 “GIVEAWAY”

![](https://storage.googleapis.com/papyrus_images/615a74f95141e75ee53076734de39af8e284ac6c0d283ed48d76ad65ff165c91.png)

原因是抽奖机器人预设是设定抓最近10笔的讯息查内文是否包含关键字，若单纯输入 GIVEAWAY 会让机器人一併搜寻到 GIVEAWAY ENDED，下方的触发纪录就会很长不便阅读。

> PS. GIVEAWAY 前后的星星在 discord 是显示粗体的意思，若关键字设定为 **GIVEAWAY** ，则上方的 **GIVEAWAY ENDED** 因为不满足字串所以就不会被搜寻到，机器人下方画面会干净很多

2\. 同上，抽奖机器人比对关键字预设是抓近 10 笔，若觉得 10 笔不够可在 url 这个位置自行修改
-----------------------------------------------------

![](https://storage.googleapis.com/papyrus_images/2f59d6ea940e364d2d5b8ad4ddb6511ccf49ff5f6e5504a4620e19d90f3d7ca1.png)

3.\*\* 务必保管好自己 discord 的 authorization\*\*
------------------------------------------

想像各位的机器人，光拥有 authorization id 就能做以上这麽多事情了，虽然这个 authorization id 理论上会有时效性，时间到会过期，但安全起见，请千万保管好自己 discord 的 authorization id ，不要外流或是不小心 po 到 github 之类的开源平台

> Discord authorization id 跟助记词一样重要，千万别分享给别人 !

---

*Originally published on [scientist](https://paragraph.com/@scientist/discord-3)*
