# Discord抽奖机器人源码及详细教程--多账户/防黑/中奖推送

By [FlyPotato](https://paragraph.com/@nbblockchain) · 2022-02-14

---

介绍
--

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

**Discord全自动24小时抽奖，功能**

*   多账户、多频道自动抽奖，没加入的频道直接跳过，防带宽消耗
    
*   中奖自动通知，钉钉APP实时推送，通知哪个账号 哪个项目 在哪个频道中奖了。同时支持discord通知，自由可选，妈妈再也不用担心忘记检查了
    
*   防黑，自定义添加黑名单关键词，防止项目方突击检查机器人作弊
    
*   直接源码，开源意味着心里有底，比封装好的抽奖软件踏实
    

**另：欢迎有编码经验的技术人员交流，希望可以组建技术小圈子（10人内），穿越牛熊，互相学习，web3也好 空投猎人也好均可，学习交流为主，为下个周期暴富做准备，欢迎关注我的推特私信DM或在文章下面进入我们社区（GGDINOCLUB）交流。**

**机器人源码：**

**写代码和文章不容易，觉得对你有帮助的话，可以帮我点下推特关注 转发，谢谢老铁～**

**下篇放出测试网批量自动领水的源码**

教程
--

**1、参数解释**

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

如上图所示为程序的结构。

config.json 配置文件

DcAccount.ts 账户代码

DcChannel.ts 频道代码

**main.ts 程序入口**

MessageUtils.ts 工具类

winlog.json log输出

**配置区：**

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

**proxy**:如果是翻墙用户的话，需要把”enable”的参数的false改成true，然后host和port的话要自己去自己的翻墙软件上去找，我用的shadawsock默认是上图这个

**notification\_dingding**:钉钉的手机推送token，目前机器人支持手机推送，如何获取这个值呢，你需要做下面的步骤：

1、下载钉钉，电脑版+手机版均可，注册步骤省略，相信聪明的你可以搞定

[

钉钉官网下载页面 - 钉钉，AI时代的工作方式
-----------------------

下载钉钉软件和APP。钉钉，AI时代的工作方式。支持windows、Mac、iOS、Android多种客户端使用。

https://www.dingtalk.com

![](https://storage.googleapis.com/papyrus_images/bc002229414248fa8c7aa8519f4d39f51679ca9354aa0a9863c72695af4fce7b.avif)

](https://page.dingtalk.com/wow/z/dingtalk/default/dddownload-index?from=zebra:offline)

2、打开电脑版钉钉，建一个群组（可能要拉一个人才能建立成功，这个得自己想办法了），然后：点右上设置---》智能群助手--〉添加机器人--》自定义机器人--〉添加

**自定义关键词必须是：【警报】**

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

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

上图这个复制下，这个就是notification\_dingding。

**notification\_discord\_channelid**：如果你需要把抽奖和中奖信息发到自己的discord服务器的，填写这个id值，表示发送到某个频道。

举例：我想把中奖信息，发到我自己的服务器的 #综合 频道，那么我需要把#综合 频道的频道id复制下来，然后这个id就是notification\_discord\_channelid。

如何获取？

1、创建自己的服务器

2、打开开发者模式

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

3、选中频道---》右键--〉复制id

**black\_word**:有一些服务器，抽奖会防机器人，就放一些“机器人抽”之类的标题陷阱，这里简单做个关键词筛选，如果标题包含black\_word的词汇，则不抽奖，后面这块会优化，词汇列表自由把控吧各位

**raffle\_word**：命中抽奖的词汇，比如抽奖大部分都包含React with这些，这个基本不用修改，忽略就好。

**dc\_account**:discord账号列表，无上限，name就是discord的用户名，这里说下token如何获取吧，获取方式，见下面视频

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

**monitor\_channel**:需要监控的频道列表：

channel\_name:频道名字，一般我会写 服务器名+频道名 这样的格式，这随便写 就是一个标识

channel\_id:需要监控的频道的id，获取方式和**notification\_discord\_channelid一样**

discord\_link：需要监控的服务器链接，服务器关闭邀请的话，就写个“无”就行

**2、以上参数全部都填写完毕后，我们就可以运行了**

1）安装nodejs

[

Node.js 安装配置
------------

Node.js 安装配置 本章节我们将向大家介绍在 Windows、Linux 和 macOS 上安装 Node.js 的方法。 Node.js 安装包及源码下载地址为：https://nodejs.org/en/download。 Package Manager：使用系统自带的包管理工具（如 apt、yum、brew）安装。自动管理依赖和更新，适合命令行用户。Prebuilt Installer：官方提供的安装程序，适用于 W..

https://www.runoob.com

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

](https://www.runoob.com/nodejs/nodejs-install-setup.html)

2、cd进入的代码/src文件夹内，不懂cd进入文件夹的，可以参考这篇文章

[

cd---命令cmd打开文件夹\_cd命令进入具体文件夹-CSDN博客
-----------------------------------

文章浏览阅读3.2w次，点赞2次，收藏10次。本文详细介绍了在Windows和Mac机上如何通过不同的命令进行文件路径操作，包括在Windows下的e盘和cde盘下的目录路径，以及在Mac机上的终端使用cd命令进入特定目录的方法。

https://blog.csdn.net



](https://blog.csdn.net/u012383818/article/details/50549256)

3、完成第2步后，/src/文件夹命令行执行下面代码：

    npm install -g typescript
    npm install -g ts-node
    npm install
    ts-node main.ts
    

4、正常情况下看到开始执行，坐等福报～～

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

**确实步骤有点多哦，如果你遇到问题、发现了bug或有改建建议，欢迎下方联系方式联系我～**

**老铁联系我：**

**推特：**

**微博:**

---

*Originally published on [FlyPotato](https://paragraph.com/@nbblockchain/discord-2)*
