最近社群里面讨论的最多就是Discord聊天机器人的事情,我说了好几遍了,不要点菜,要写哪些东西我都在众筹的那个页面写过了,催啥?
你让我写啥我就写啥?我啥都会?凭啥给你写?
各位老板,今天就是Discord聊天机器人编写教程~
其实之前已经分享过这个老哥的帖子了,但是很多人跟我说不会用,其实比较简单,我今天拆分一下,大家就能明白了~
教程
首先我们先看一下随机获取发言的方法:
import requests, random
def get_context():
context_list = [
"hello bro", "let's go !", "to the moon!", "nice", "project", "have a good day",
"good", "luck", "how's going", "so do i", "yeah", "same to me", "1", "cool", "so far so good",
"hi~", "of course", "really", "cool~", "ok", "what?", "why?", "not bad", "well done", "great",
"perferct", "thanks", "ture", "yes", "no", "here", "interesting", "it's funny", "i am tired"
]
text = random.choice(context_list)
return text
context_list里面就是准备好的剧本,你可以替换成你的剧本,然后random会随机取一条,返回。
def chat(authorization, chanel_id):
# 伪装头
header = {
"Authorization": authorization,
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36"
}
# 整理发送的内容、生成nonce
msg = {
"content": get_context(),
"nonce": "82329451214{}33232234".format(random.randrange(0, 1000)), # 923802142370693120 923802484009336832
"tts": False
}
# 拼接频道地址
url = 'https://discord.com/api/v9/channels/{}/messages'.format(chanel_id)
res = requests.post(url=url, headers=header, data=json.dumps(msg), proxies=proxies)
print(res.content)
这段代码比较简单,就是一个post请求,上节课我们都用过了。proxies看大家的需求去加就行。
使用的时候调用chat方法,传入authorization和chanel_id即可,authorization就是用户授权。chanel_id就是频道ID,下面我们说说这两个值如何取,我们打开discord网页版,登录你的账号。
这时我们拿到了频道ID,再打开浏览器的控制台,打开方式如图:
然后选择network标签之后,再发生任意内容到频道:
这时候有个messages的请求,就是我们chat方法里面模仿的请求。
在这里可以看到authorization参数,每个用户的authorization是唯一的,所以我们可以保存长期使用。chanel_id要根据你发言的频道去取。
好了,至此authorization和chanel_id都有了,直接运行 chat(authorization,chanel_id) 即可。
另外messages的请求大家可以仔细看看,认真模仿,代码中去掉了很多参数。
运行完我的代码,和上面的内容,再回头去看科学家DAO老哥的帖子你就会开朗很多,老哥做了一个循环,定时去发言,还可以多频道、多账户发言。
https://scientistdao.org/d/40-discord
然后老哥的代码里面还有个get_context方法是去取频道中别人的发言照抄,大家也可以参考,剧本、照抄都是形式,根据自己的策略搞就行~
最后
这种机器人大家写的时候,一定要找聊天热门的项目去刷。剧本一定要写的非常好,要不然管理员可以看出来你发言的是机器人。
也可以对接一些AI的接口,不过目前的AI没有那么智能,很容易被发现是机器人,所以策略一定要想好,被封出频道只能换号了。
本文的代码和分析,只是帮助你去了解自动发言的方法,请不要用于恶意用途!技术无罪,请大家合理运用!
感谢阅读,望认真学习。