# discord多账号多频道聊天

By [一只猫猫](https://paragraph.com/@0x5eebd976c57155f645221cf4a8682f5852d93f34) · 2022-02-10

---

       昨天看完伟哥的自动聊天教程，发现自动聊天虽然好但感觉聊天剧本不行真的容易被举报，所以这次我写的是一个可以支持多用户多频道手动聊天的脚本。作用就是你可以一次肝多个账号和多个不同的项目，但是聊天内容要手动打。例如你发一句话能同时出现在多个服务器，并且支持多个账号，实现自己跟自己聊天。。。
    顺便说一下我是菜鸟，大佬勿喷~
    
    首先新建两个txt文件，一个放要聊天的账号的authorization
    
    一个放要聊天的频道的chanel_id
    
    像我这样一行一个authorization、chanel_id
    

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

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

代码截图
----

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

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

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

代码
--

    1、下面这个方法是用来读取上面的两个文件的，上面两个文件放在哪里你代码的路径就要换成那一个
    def get_AccountsAndChannels():
        with open(r'C:\Users\Administrator\Desktop\Accounts.txt', 'r', encoding='utf-8') as fp:
            list_A = fp.readlines() #读取哪几个账号要进行聊天的文件
            Accounts_list = []
            for i in list_A:
                Accounts_list.append(i.strip('\n'))
        with open(r'C:\Users\Administrator\Desktop\Channels.txt', 'r', encoding='utf-8') as fp:
            list_C = fp.readlines() #读取要去哪几个频道聊天的文件
            Channels_list = []
            for i in list_C:
                Channels_list.append(i.strip('\n'))
        return Accounts_list, Channels_list
    
    
    2、这个就是之前伟哥发过的，我这里就是加了几个循环
    def chat(list):
        Accounts_list = list[0] #获取账号的list
        Channels_list = list[1] #获取聊天频道的list
        while True:#开始无限循环
            for Account in Accounts_list:
                context = input(str('{}'.format(Account)+'说:'))
                # 伪装头
                header = {
                    "Authorization": Account,  # 聊天用户的识别码
                    "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"
                }
                proxies = {"http": "http://127.0.0.1:12307",
                           "https": "http://127.0.0.1:12307"}  # 如果是翻墙的就先自行打开网址F12找到本地发送请求的地址ip
                for Channel in Channels_list:
                    # 整理发送的内容、生成nonce
                    msg = {
                        "content": context + "{}",  # 获取随机聊天内容
                        "nonce": "{}".format(random.randrange(0, 1000000000000000000000000)),  # nonce为随机数，不能太长
                        "tts": False
                    }
                    # 拼接频道地址
                    url = 'https://discord.com/api/v9/channels/{}/messages'.format(Channel)
                    res = requests.post(url=url, headers=header, data=json.dumps(msg), proxies=proxies)
    
    
    3、这是一些调用开始的代码
    def discord_talk():
        list = get_AccountsAndChannels()
        chat(list)
    
    if __name__ == '__main__':
        discord_talk()
    
    注意
    
    1、要确保你的账号都进入了要聊天的服务器，没进服务的账号就是你有那个服务器的频道id你的账号也是不会发送消息
    
    2、authorization这个怎么拿可以参考伟哥之前发的文章，这里有一点是要注意的authorization这个值不变的前提是你没有开启双重验证，开启了之后只要退出登录就不能再用，多个账号都是没有开启双重验证的才能在不每个账号都登录的情况下发出聊天
    

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

伟哥的教学连接：
--------

[https://mirror.xyz/dfarm.eth/CBeChHw5XqW8wAZdaJHNjPgq7VCvpz0KwJI56f02LfU](https://mirror.xyz/dfarm.eth/CBeChHw5XqW8wAZdaJHNjPgq7VCvpz0KwJI56f02LfU)

就这样啦！效果测试了下还不错，你多几个账号自己跟自己聊天，没人看得出来，适合学生或者有时间聊天的人，起码能一次肝多个账号和多个白也是不错的。
----------------------------------------------------------------------

**吐槽一下这个排版不会用，排出来好难看，大家将就下**

顺便再骗点关注，下面是我的推特：

[https://twitter.com/TonyCoin4](https://twitter.com/TonyCoin4)

**来自 DFarm Club**

---

*Originally published on [一只猫猫](https://paragraph.com/@0x5eebd976c57155f645221cf4a8682f5852d93f34/discord)*
