微信轰炸脚本

其实这是一个很久远的代码了,应该是我当时自学Python时写的一个不是很成熟的代码,非常的简略,不过核心功能应该是实现了,暂时测试没发现什么Bug,如果大家发现了什么Bug可以告诉我,本菜鸡先谢过各位了hhhh
最近肺炎闹的厉害,呆在家实在是没事干,所以干脆自学了一点docker知识,然后把自己的博客搬到了docker中,这样我可以随时打包带走,再在别的地方部署。上学期被闫大佬推荐过nextcould,是一个私有云,听说挺好用的,所以又开了一个docker容器部署了nextcloud,有机会我会把这个过程写成一篇blog,给大家分享一下我在这中间踩的坑。
说回这个脚本,主要过程其实很简单,就是调用itchat这个库,这个库中提供了很多微信的接口,丰富多彩。如果大家有兴趣可以去了解一下。然后我自己实现了一些很简单的逻辑就完成了这个脚本,试验过,效果还凑合。不过现在来看我当时写的代码还有一点看不过眼啊hhh。不过虽然看不过眼,但是还是可以勉强水一篇博客的嘛哈哈哈哈

0x00 Itchat介绍

首先,我先来介绍一下这个脚本的核心男主角——itchat。先来看一下itchat官方文档上写的介绍:


如果大家感兴趣,可以去看该项目的官方文档,上面写的还是比较详细的:Itchat官方文档
然后安装就使用pip就可以:pip install itchat
之后将它import进去就可以了。import itchat

0x01 使用

安装完后我们就可以使用了。

1.1 登陆退出

没什么可说的,直接调用函数就可以了。

itchat.auto_login(hotReload=True) #调用auto_login登陆,hotReload=True代表的是热登陆,也就是在你登陆后在一定时间内可以自动登陆
itchat.logout() #退出

1.2 获取(好友||群组)列表

核心就是发送消息了,要想发送消息首先应该找到被发送人,这时我们调用itchat.search_friends来找到他,如下:

try:
    my_friend = itchat.search_friends(name = friend)[0]['UserName'] #name参数接收的是用户的用户名
except:
    print("未找到用户!")
    return None

上面方法返回的是一个列表,列表中是符合要求的用户的字典,我们默认选取搜索到的第一个用户,从字典中找出他的UserName。
同时我的代码中还考虑的群组的情形,与上面的代码基本相同,在这里不再赘述,直接给出代码:

try:
    my_group = itchat.search_chatrooms(name = group)[0]['UserName'] #name参数接收的是群组名称
except:
    print("未找到群聊!")
    return None

1.3 发送消息

然后就是发送消息了,调用方法itchat.send来完成,如下:

while i != num:
    itchat.send(b,toUserName = my_friend) #b是发送的消息,toUserName接收的参数是用户信息
    time.sleep(num_time) #num_time是间隔时长
    i += 1

上面是发送部分的代码,num是发送次数,b是发送的信息,num_time是发送间隔。直接调用方法发生即可。(吐槽一下,我真的是起名废,永远不会给变量起名)

0x01 代码

下面是脚本的完整代码,如果有需要可以整下来自己玩去,不过会不会被打我就说不准了/手动滑稽

源代码

import itchat
import time

def SendToGroup():
    group = input('输入要轰炸的群聊:')

    try:
        my_group = itchat.search_chatrooms(name = group)[0]['UserName']
    except:
        print("未找到群聊!")
        return None
    num = int(input('输入轰炸的次数:'))
    b = str(input('输入要轰炸的内容:'))
    num_time = float(input('输入轰炸间隔:'))
    
    i = 0

    itchat.send('您的好友正在轰炸',toUserName = my_group)
    while i != num:
        itchat.send(b,toUserName = my_group)
        time.sleep(num_time)
        i += 1

    itchat.send('轰炸完毕',toUserName = my_group)
    print("轰炸完毕!")



def SendToFriend():
    friend = input('输入要轰炸的好友:')

    try:
        my_friend = itchat.search_friends(name = friend)[0]['UserName']
    except:
        print("未找到用户!")
        return None
    
    num = int(input('输入轰炸的次数:'))
    b = str(input('输入要轰炸的内容:'))
    num_time = float(input('输入轰炸间隔:'))
    
    i = 0

    itchat.send('您的好友正在轰炸',toUserName = my_friend)
    while i != num:
        itchat.send(b,toUserName = my_friend)
        time.sleep(num_time)
        i += 1

    itchat.send('轰炸完毕',toUserName = my_friend)
    print("轰炸完毕!")
        
itchat.auto_login(hotReload=True)

while True:
    mode = int(input('选择你要轰炸的模式(个人输入1,群聊输入2,退出输入0):'))

    if mode == 1:
        SendToFriend()
    elif mode == 2:
        SendToGroup()
    elif mode == 0:
        break
    else:
        print("输入错误,请重新输入!")

itchat.logout()

0x02 后记(废话)

当时写好后整人用过一次,差点被拉黑,所以奉劝大家,不要轻易使用,小心友谊的小船说翻就翻hhhh
另外说一嘴,有一说一,当时没有养成良好的习惯,写代码不打注释。现在养成打注释的习惯应该谢谢我的数据结构老师,要不是他要期末检查代码,让我们给他讲代码,我发现如果不打注释可能自己写的代码自己都不记得是个啥玩意,所以求生欲让我养成这个习惯hhh不过打注释真的是个好习惯,希望大家能养成这个良好的习惯hhh

源码已上传GitHub:

END
本文作者:
文章标题:微信轰炸脚本
本文地址:http://hackerhome.top/index.php/archives/3/
版权说明:若无注明,本文皆由"岁月年华的秘密基地"原创,转载请保留文章出处。
最后修改:2021 年 02 月 13 日 06 : 36 PM
如果觉得我的文章对你有用,请随意赞赏