# discord聊天自动化机器人(Python脚本) **Published by:** [dami.eth](https://paragraph.com/@yidakoumi/) **Published on:** 2022-05-07 **URL:** https://paragraph.com/@yidakoumi/discord-python ## Content 前言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 则为 :937370268425400371channel id回到我们的代码网页,把下面的配置改为自己的 channel id,这里是可以支持多个频道的,比如 gm 频道,官方中文频道:channel id 修改配置配置多个的话,就是下面这个样子,双引号里面是频道id,多个频道用逗号隔开: channels_id_list = ["937370268425400371","937370268425400372"]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 这里进去:打开后,点到 network(网络)选项页:然后依次点击: 1、 XHR 选项卡 2、再随便点一个频道 3、随便找一个 Name,点击英文字符点开下方的 Name 后,可以看到这样的代码:把 authorization: 后面对应的那串英文,记录下来,放到代码对应的配置项中: authorization_list = ["OTI4**************************************GA"]配置好以上信息,大功告成!~ 再次提醒,authorization 对应的字串非常重要,不要公开!不要公开!不要公开!运行代码点击代码左侧的红色运行标志,然后就可以回到你的网页去看是否发送消息啦:成功的话,拉到网页最下面,有信息提示:停止代码停止代码,点终止图标即可:如果点了没反应,可以多点2,3下,会弹出下面这个提示,点击yes:代码停掉后,图标变回开始的图标,说明停止成功:下面的日志,可以把鼠标移动到管理员图标上,就会变成叉子,点击即可清除:其他的一些问题如果你关掉你的google云服务网页,脚本没有停止的话,程序还是会执行的,具体会执行多久,我自己还没有亲自实验过,官方提示,是12个小时。所以要是怕被管理识别到,还是手动停止掉,再去关闭 google 的云服务。 再者就是发送消息的时间间隔问题,建议不要太短,比如 3s 以下,毕竟要让机器人装的像人一些.... 注:若害怕脚本不稳定(网络ip方面的封号问题),可以用自己的discord小号尝试一段时间,绕开自己常用的主号测试! 好,以上就是完整的分享了....希望大家可以玩的愉快! 💎 |币圈萌新|NFT学习中|成为科学家的路上|💎 我的Twitter:https://twitter.com/jacksu15ice ## Publication Information - [dami.eth](https://paragraph.com/@yidakoumi/): Publication homepage - [All Posts](https://paragraph.com/@yidakoumi/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@yidakoumi): Subscribe to updates - [Twitter](https://twitter.com/jacksu15ice): Follow on Twitter