discord聊天自动化机器人(Python脚本)

前言

Discord 在 NFT 领域,已经成为了必不可少的社群工具。大部分项目会以 Twitter 为媒体宣传,最终沉淀用户到 discord 中,而要想获得白名单,也不得不遵循项目方的一些玩法,比如早期的聊天肝等级。

当然,你完全可以选择雇佣人去帮你做这件事,只要 ROI 跑的正,这种方式往往要比自动化脚本来的更稳妥一些,毕竟是真人行为,相对脚本,封号(封discord)风险降低很多。

但若不想花这份钱,那则么办...这样一来,就有了一个需求,聊天机器人....

当然,这里笔者写的机器人并不是那么智能,发消息的内容相关信息是需要你自行配置的。

ps:底层技术用的 python api 模拟请求。(懂 Python 的小伙伴一看就懂...)

什么项目不适合聊天?

举个例子🌰,前一阵的【阿狸NFT】白名单,社群里早期混进了很多机器人,二话不说直接开刷等级,随后规则明确,社群并不是靠肝等级作为白名单的,当遇到社群管理员不定期巡逻时,表明回复指定数字,或者禁言,机器人没办法自己分析这种语义....该机器人是做不到的。

所以,如果遇到以上情况,可以人为的隔段时间看看,手动暂停脚本即可。

脚本成果演示

下图是我自己创建的一个 discord 服务器,并且新建了一个名为 gm 的频道:

mirror的gif图片有点问题,可以移步图床链接🔗:

https://ibb.co/tLzmxtQ

代码分享

代码方面,采用的是 Google 的云服务,这样省去了我们自己电脑装环境的一些问题。

打开下面的代码网页之后,用 google 登录,然后回到本篇文章,继续往后看如何配置运行。

https://colab.research.google.com/drive/1k1MjTw0HaIhXmyHIm-KsHrKECpu9ASPy?usp=sharing

前置代码配置

在正式讲解之前,你需要自行打开上述代码文档,配置三个选项。

分别是【channel id(频道id)】,【机器人发送消息的内容】,以及最重要的 【authorization 认证】。

我们一个个来说。

1、channel id(频道id)

当我登录 discord 后,加入了一个 discord 服务器后,并且进入了某个频道:

你当前的网址 url 是这样的:

discord.com/channels/937164774674952222/937370268425400371

那么,channel id 则为 :937370268425400371

channel id
channel id

回到我们的代码网页,把下面的配置改为自己的 channel id,这里是可以支持多个频道的,比如 gm 频道,官方中文频道:

channel id 修改配置
channel id 修改配置

配置多个的话,就是下面这个样子,双引号里面是频道id,多个频道用逗号隔开:

channels_id_list = ["937370268425400371","937370268425400372"]

post image

2、机器人发送消息的内容

这里的文字可以替换成自己想让机器人说的,它会随机选择一句话来发送,所以当然是越多越好了,虽然有默认值,但是大家可以按照自己的口味改一改。

比如:

globals_message_list = ["GM","你好啊","早上好","晚上好","你个大骗子","GN","怎么可能?"]

发送消息的配置
发送消息的配置

附加项,这里还有 2 个可以自行修改的值,即每条发送消息的间隔时间,像我现在写的时间,就是在 10~30s之间,随机间隔时间去发送,比如上条信息刚发完,有可能下一条信息过了 15s ,才会发送,也可能是 10s,这个是不定的,为了更像的模拟人为嘛:

time_min = 10

time_max = 30

你要是想让他发送快点,也可以设置成最小是 5,最大是10,这样时间就会缩短了:

发送消息的时间间隔
发送消息的时间间隔

3、authorization 认证

这一步至关重要,请保存好您的 authorization 信息,因为有了它,任何人都可以用它对您的账号进行一些 api 层的操作,所以谨慎保管好。

当然,这个信息也会失效,我记得默认的有效期 discord 会保留 7 周(没记错的话...)。

如何获取?打开您的 discord 网页版,在用键盘的快捷键打开谷歌浏览器的【开发者工具】:

Mac的快捷键: option+command+i

Windows的快捷键:ctrl+shift+i

当然,也可以从 Chrome 这里进去:

post image

打开后,点到 network(网络)选项页:

post image

然后依次点击:

1、 XHR 选项卡

2、再随便点一个频道

3、随便找一个 Name,点击英文字符

post image

点开下方的 Name 后,可以看到这样的代码:

post image

把 authorization: 后面对应的那串英文,记录下来,放到代码对应的配置项中:

authorization_list = ["OTI4**************************************GA"]

post image

配置好以上信息,大功告成!~

再次提醒,authorization 对应的字串非常重要,不要公开!不要公开!不要公开!

运行代码

点击代码左侧的红色运行标志,然后就可以回到你的网页去看是否发送消息啦:

post image

成功的话,拉到网页最下面,有信息提示:

post image

停止代码

停止代码,点终止图标即可:

post image

如果点了没反应,可以多点2,3下,会弹出下面这个提示,点击yes:

post image

代码停掉后,图标变回开始的图标,说明停止成功:

post image

下面的日志,可以把鼠标移动到管理员图标上,就会变成叉子,点击即可清除:

post image

其他的一些问题

如果你关掉你的google云服务网页,脚本没有停止的话,程序还是会执行的,具体会执行多久,我自己还没有亲自实验过,官方提示,是12个小时。所以要是怕被管理识别到,还是手动停止掉,再去关闭 google 的云服务。

再者就是发送消息的时间间隔问题,建议不要太短,比如 3s 以下,毕竟要让机器人装的像人一些....

注:若害怕脚本不稳定(网络ip方面的封号问题),可以用自己的discord小号尝试一段时间,绕开自己常用的主号测试!

好,以上就是完整的分享了....希望大家可以玩的愉快!

💎 |币圈萌新|NFT学习中|成为科学家的路上|💎

我的Twitter:https://twitter.com/jacksu15ice