Esempio n. 1
0
def change_group():
    meblist=itchat.get_friends()[1:]
    # 创建群聊
    chatroom=itchat.create_chatroom(meblist,'群聊名称')
    # 删除群聊内的用户
    itchat.delete_member_from_chatroom(chatroom,meblist[0])
    # 增加用户
    itchat.add_member_into_chatroom(chatroom,meblist[0])
Esempio n. 2
0
 def create_chatroom(member_list, topic=''):
     ''' create a chatroom
         for creating
             - its calling frequency is strictly limited
         for options
             - member_list: list of member info dict
             - topic: topic of new chatroom
         it is defined in components/contact.py
     '''
     return itchat.create_chatroom(member_list, topic)
Esempio n. 3
0
 def langrengroup(people=None):
     global groupchatlangren
     if people == None:
         print('Err')
         return False
     userDict = []
     for userlist in people:
         userDict.append({"UserName": userlist})
         gctmp = itchat.create_chatroom(userDict, '狼人群-狼人杀Beta')
         groupchatlangren = gctmp['ChatRoomName']
         itchat.send_msg('你们的身份是狼人,这里是给你们讨论的场所\n讨论结束后请其中一个人向服务号发送编号.',
                         toUserName=groupchatmain)
Esempio n. 4
0
 def group(people=None):
     if people == None:
         print('Err')
         return False
     global groupchatmain
     userDict = []
     for userlist in people:
         userDict.append({"UserName": userlist})
         gctmp = itchat.create_chatroom(userDict, '狼人杀Beta')
         groupchatmain = gctmp['ChatRoomName']
         itchat.send_msg('欢迎加入狼人杀', toUserName=groupchatmain)
         time.sleep(0.1)
         itchat.send_msg('请稍后,正在获取昵称...', toUserName=groupchatmain)
 def get_chatroom(self):
     """获取群组信息"""
     if self.chatroom is None:
         itchat.get_chatrooms(update=True)
         chatrooms = itchat.search_chatrooms(self.chatroom)
         if chatrooms:
             return chatrooms[0]
         room = itchat.create_chatroom(itchat.get_friends()[1:4],
                                       topic=self.chatroom_name)
         if room['BaseResponse']['ErrMsg'] == '':
             self.chatroom = {'UserName': room['ChatRoomName']}
             return self.chatroom
     return self.chatroom
Esempio n. 6
0
def get_chatroom():
    global CHATROOM
    if CHATROOM is None:
        itchat.get_chatrooms(update=True)
        chatrooms = itchat.search_chatrooms(CHATROOM_NAME)
        if chatrooms:
            return chatrooms[0]
        else:
            r = itchat.create_chatroom(itchat.get_friends()[1:4], topic=CHATROOM_NAME)
            if r['BaseResponse']['ErrMsg'] == '':
                CHATROOM = {'UserName': r['ChatRoomName']}
                return CHATROOM
    else:
        return CHATROOM
Esempio n. 7
0
def get_chatroom():
    global chatroom
    if chatroom is None:
        itchat.get_chatrooms(update=True)
        chatrooms = itchat.search_chatrooms(chatroomUserName);
        if chatrooms:
            return chatrooms[0]
        else:
            chatroom = itchat.create_chatroom(itchat.get_friends()[1:4], topic=chatroomUserName)
            if chatroom['BaseResponse']['ErrMsg'] == '':
                chatroom['UserName']=chatroomUserName
                return chatroom
    else:
        return chatroom
Esempio n. 8
0
def get_chatroom():
    global CHATROOM
    if CHATROOM is None:
        itchat.get_chatrooms(update=True)
        chatrooms = itchat.search_chatrooms(CHATROOM_NAME)
        if chatrooms:
            return chatrooms[0]
        else:
            r = itchat.create_chatroom(itchat.get_friends()[1:4], topic=CHATROOM_NAME)
            if r['BaseResponse']['ErrMsg'] == '':
                CHATROOM = {'UserName': r['ChatRoomName']}
                return CHATROOM
    else:
        return CHATROOM
Esempio n. 9
0
def get_chatroom():
    global chatroom
    if chatroom is None:
        itchat.get_chatrooms(update=True)
        chatrooms = itchat.search_chatrooms(chatroomUserName)
        if chatrooms:
            return chatrooms[0]
        else:
            chatroom = itchat.create_chatroom(itchat.get_friends()[1:4],
                                              topic=chatroomUserName)
            if chatroom['BaseResponse']['ErrMsg'] == '':
                chatroom['UserName'] = chatroomUserName
                return chatroom
    else:
        return chatroom
Esempio n. 10
0
 def get_chatroom(self):
     chatrooms = itchat.search_chatrooms(name=CHATROOM_NAME)
     # 搜索群聊是否已存在
     # 存在则返回
     # 不存在则创建
     if chatrooms:
         return chatrooms[0]
     else:
         friends = itchat.get_friends()[1:3]
         # 创建群聊
         r = itchat.create_chatroom(
             friends, topic=CHATROOM_NAME)
         itchat.delete_member_from_chatroom(r['ChatRoomName'], [friends[0], friends[1]])
         if r['BaseResponse']['ErrMsg'] == u'请求成功':
             return {'UserName': r['ChatRoomName']}
         else:
             return None
Esempio n. 11
0
def get_chatroom():
    global CHATROOM
    if CHATROOM is None:
        itchat.get_chatrooms(update=True)
        chatrooms = itchat.search_chatrooms(CHATROOM_NAME)
        print "search chatrooms return: ", chatrooms
        if chatrooms:
            return chatrooms[0]
        else:
            r = itchat.create_chatroom(itchat.get_friends()[:1],
                                       topic=CHATROOM_NAME)
            print u"新建群聊", r
            if r['BaseResponse']['Ret'] == 0:
                CHATROOM = {'UserName': r['ChatRoomName']}
                return CHATROOM
    else:
        return CHATROOM
Esempio n. 12
0
def get_chatroom():
    global CHATROOM
    if CHATROOM is None:
        chatrooms = itchat.search_chatrooms(name=CHATROOM_NAME)
        # 搜索群聊是否已存在
        # 存在则返回
        # 不存在则创建
        if chatrooms:
            CHATROOM = chatrooms[0]
            return chatrooms[0]
        else:
            # 创建群聊
            r = itchat.create_chatroom(itchat.get_friends()[1:3],
                                       topic=CHATROOM_NAME)
            if r['BaseResponse']['ErrMsg'] == u'请求成功':
                CHATROOM = {'UserName': r['ChatRoomName']}
            return CHATROOM
    else:
        return CHATROOM
Esempio n. 13
0
def create_chatrooms():
    global start_index
    member = itchat.search_friends(name='斐')
    username = member[0]['UserName']

    print(itchat.originInstance.storageClass.userName)

    chatroom_name = '国学小私塾-A{0}班'.format(start_index)
    room = itchat.create_chatroom(
        [{
            'UserName': username
        }, {
            'UserName': itchat.originInstance.storageClass.userName
        }], chatroom_name)
    if room:
        itchat.send_msg(chatroom_name, room['ChatRoomName'])
    else:
        print(room)

    start_index += 1
Esempio n. 14
0
def get_delete_user_list(start, end, friends):
    print 'start run get_delete_user start: ' + str(start) + ', end: ' + str(
        end)
    process_member_list = friends[start:end]
    member_dict = {}
    for member in process_member_list:
        member_dict[member['UserName']] = member
        print member['NickName'] + '-----' + str(start)

    group_name = 'g1' + str(random.randint(0, 1199))
    print 'group_name:' + group_name
    result = itchat.create_chatroom(process_member_list, group_name)
    print 'result: ' + json.dumps(result)
    result_member_list = result['MemberList']
    delete_list = []
    for result_member in result_member_list:
        print '---------------member-------------'
        print json.dumps(result_member)
        if result_member['MemberStatus'] == 4:  # 被对方删除了
            delete_list.append(result_member['UserName'])
            print '这个人删除了我' + result_member['UserName']
    return delete_list
Esempio n. 15
0
# -*- coding:utf-8 -*-
# 肖豪
# 查找微信被那些好友删除
"""
外部库:itchat
"""

import itchat

# 为了让修改程序不用多次扫码,使用热启动
itchat.auto_login(hotReload=True)

sChatRoomName = "好友删除检测临时群"
iMaxNum = 10

lstFrd = itchat.get_friends(update=True)[1:33]
lstTmp = lstFrd[:iMaxNum]
lstFrd = lstFrd[iMaxNum:]
dResult = itchat.create_chatroom(lstTmp, sChatRoomName)
chatroomUserName = dResult["ChatRoomName"]
itchat.delete_member_from_chatroom(chatroomUserName, lstTmp)

while lstFrd:
    lstTmp = lstFrd[:iMaxNum]
    lstFrd = lstFrd[iMaxNum:]
    r = itchat.add_member_into_chatroom(chatroomUserName, lstTmp)
    # print(r)
    itchat.delete_member_from_chatroom(chatroomUserName, lstTmp)
Esempio n. 16
0
    print(test)
#itchat.run()
'''群聊的搜索方法为search_chatrooms,有两种搜索方法: 1. 获取特定UserName的群聊 2. 获取名字中含有特定字符的群聊
如果两项都做了特定,将会仅返回特定UserName的群聊,下面是示例程序:'''

# 获取特定UserName的群聊,返回值为一个字典
# itchat.search_chatrooms(userName='******')
# 获取名字中含有特定字符的群聊,返回值为一个字典的列表
itchat.search_chatrooms(name='读书会(公测)')
# 以下方法相当于仅特定了UserName
# itchat.search_chatrooms(userName='******', name='LittleCoder')
'''群聊用户列表的获取方法为update_chatroom。

    群聊在首次获取中不会获取群聊的用户列表,所以需要调用该命令才能获取群聊的成员
    该方法需要传入群聊的UserName,返回特定群聊的用户列表'''
memberList = itchat.update_chatroom('bcdefg67')
'''创建群聊、增加、删除群聊用户的方法如下所示:

    由于之前通过群聊检测是否被好友拉黑的程序,目前这三个方法都被严格限制了使用频率
    删除群聊需要本账号为群管理员,否则会失败
    将用户加入群聊有直接加入与发送邀请,通过useInvitation设置
    超过40人的群聊无法使用直接加入的加入方式,特别注意'''
memberList = itchat.get_friends()[1:]
# 创建群聊,topic键值为群聊名
chatroomUserName = itchat.create_chatroom(memberList, 'test chatroom')
# 删除群聊内的用户
itchat.delete_member_from_chatroom(chatroomUserName, memberList[0])
# 增加用户进入群聊
itchat.add_member_into_chatroom(chatroomUserName,
                                memberList[0],
                                useInvitation=False)
Esempio n. 17
0
def start():
    global idnow
    global user
    global weuser
    global role
    global roles
    global wefriendnc
    global userlist
    global groupchatlangren
    global groupchatmain
    global ifgame
    global langrenamout
    global cunminamout
    global yuyanjia
    global cunmin
    global langren
    global nvwu
    global x
    global ifchosen
    global friendnc
    ifgame = True
    #初始化
    #包含分配角色 建群等
    #建群获得的id赋值给groupchatmain和groupchatlangren
    print('Out=Userlist')
    print(userlist)
    userDict = []
    for uuserlist in userlist:
        userDict.append({"UserName": uuserlist})
    gctmp = itchat.create_chatroom(userDict, '狼人杀Beta')
    groupchatmain = gctmp['ChatRoomName']
    itchat.send_msg('欢迎加入狼人杀', toUserName=groupchatmain)
    itchat.send_msg('请稍后,正在获取昵称...', toUserName=groupchatmain)
    for x in userlist:
        y = itchat.search_friends(userName=x)
        friendnc[weuser[x]] = y['NickName']
        wefriendnc[y['NickName']] = weuser[x]
    itchat.send_msg('系统将抽取每个人的身份,请留意私信!', toUserName=groupchatmain)
    userDict = []
    for rolex in userlist:
        rolext = random.choice(roles)
        if rolext == 'langren':
            if len(langren) >= langrenamout:
                for x in range(len(roles)):
                    if roles[x] == 'langren':
                        roles.pop(x)
                        break
                rolext = random.choice(roles)
                print('******')
                print(roles)
        if rolext == 'cunmin':
            if len(cunmin) >= cunminamout:
                for x in range(len(roles)):
                    if roles[x] == 'cunmin':
                        roles.pop(x)
                        break
                rolext = random.choice(roles)
        if rolext == 'nvwu':
            if nvwu != '':
                for x in range(len(roles)):
                    if roles[x] == 'nvwu':
                        roles.pop(x)
                        break
                rolext = random.choice(roles)
        if rolext == 'yuyanjia':
            if yuyanjia != '':
                for x in range(len(roles)):
                    if roles[x] == 'yuyanjia':
                        roles.pop(x)
                        break
                rolext = random.choice(roles)
        role[weuser[rolex]] = rolext
        print(weuser[rolex])
        print(roles)
        print(role)
        print(rolex)
        print(rolext)
        if rolext == 'langren':
            langren.append(weuser[rolex])
            itchat.send_msg('您的身份是狼人,稍后将进入狼人专用群。', toUserName=rolex)
        if rolext == 'cunmin':
            cunmin.append(weuser[rolex])
            itchat.send_msg('您的身份是村民', toUserName=rolex)
        if rolext == 'nvwu':
            nvwu = weuser[rolex]
            itchat.send_msg('您的身份是女巫,您有以下技能\n在提示时输入用户id,然后输入救/杀,如:',
                            toUserName=rolex)
            itchat.send_msg('1', toUserName=rolex)
            itchat.send_msg('救', toUserName=rolex)
        if rolext == 'yuyanjia':
            yuyanjia = weuser[rolex]
            itchat.send_msg('您的身份是预言家,您有以下技能\n在提示时输入用户id,查看用户身份',
                            toUserName=rolex)
    ifchosen = True
    itchat.send_msg('身份发送完毕,现在开始游戏。', toUserName=groupchatmain)
    for ux in langren:
        userDict.append({"UserName": user[ux]})
    gctmp = itchat.create_chatroom(userDict, '狼人群-狼人杀Beta')
    groupchatlangren = gctmp['ChatRoomName']
    print(gctmp)
    print('狼人群 id%s' % groupchatlangren)
    itchat.send_msg('欢迎来到狼人群。', toUserName=groupchatlangren)
    mainloop()
Esempio n. 18
0
def text_reply(msg):
    if msg['MsgType'] == 1:
        if msg['Content'] == "加入游戏":
            if gameState == 0:
                itchat.send_msg(msg='正在进入游戏...',
                                toUserName=msg['FromUserName'])
                if msg['FromUserName'] not in player:
                    player.append(msg['FromUserName'])
                    if len(player) == 7:
                        gameState = 1
                        # 游戏召集完毕,创建讨论组,准备开始游戏
                        for Player in player:
                            itchat.send_msg(msg='系统正在抽签安排游戏角色,游戏即将开始,请做好准备',
                                            toUserName=Player)
                        Wolf = random.sample(player, 3)
                        for wolf in Wolf:
                            msg1 = "你的身份是『狼人』,你的同伙是:"
                            for thwolf in Wolf:
                                if wolf != thwolf:
                                    msg1 = msg1 + thwolf + ''
                            itchat.send_msg(msg1, toUserName=wolf)
                        Scheduled = Wolf
                        while Witch != "":
                            rd = random.choice(player)
                            if (rd not in Wolf):
                                Witch = rd
                                itchat.send_msg(msg='你的身份是『女巫』',
                                                toUserName=Witch)
                                Scheduled.append(Witch)
                        while Predictor != "":
                            rd = random.choice(player)
                            if (rd not in Scheduled):
                                Predictor = rd
                                Scheduled.append(Predictor)
                                itchat.send_msg(msg='你的身份是『预言家』',
                                                toUserName=Predictor)
                        for Player in player:
                            if (Player not in Scheduled):
                                Villager.append(Player)
                                itchat.send_msg(msg='你的身份是『村民』',
                                                toUserName=Player)
                        chatroomUserName = itchat.create_chatroom(
                            player, '狼人杀Beta')
                        itchat.send_msg(msg='身份牌已经发送完毕,游戏在五秒后正式开始。',
                                        toUserName=chatroomUserName)
                        time.sleep(5000)
                        itchat.send_msg(msg='游戏开始,天黑请闭眼。',
                                        toUserName=chatroomUserName)
                        time.sleep(1000)
                        langrenChatRoomName = itchat.create_chatroom(
                            player, '狼人杀「狼人」专用讨论组')
                        itchat.send_msg(
                            msg=
                            '狼人请睁眼,请狼人们在「狼人专用讨论组中统一意见,并要求其中一位狼人将要杀的人的私聊给裁判。」',
                            toUserName=chatroomUserName)
                        gameState = 2

                        # 将剩余的人全部添加入民
                else:
                    itchat.send_msg(msg='您当前已经进入游戏,回复「退出游戏」可退出游戏',
                                    toUserName=msg['FromUserName'])
            else:
                itchat.send_msg(msg='当前游戏已经开始或进入准备状态,请稍后再试。',
                                toUserName=msg['FromUserName'])
Esempio n. 19
0
ms = []

nickNames = ['何继中 智能焊接机器人', 'LHC', '三栖', '燕儿翩翩飞']

#ms.append(itchat.search_friends(nickName = 'LHC'))

for member in members:
    if member['NickName'] in nickNames:
        friends = itchat.search_friends(userName = member['UserName'])
        for friend in friends:
            print(friend)
            ms.append(friend)

print("*" * 80)
print(ms)
chatroomUserName = itchat.create_chatroom(ms, 'test backlist')
print(chatroomUserName)
itchat.send('代码测试黑名单', chatroomUserName)
os.sys.exit(1)

f = open("rooms.txt", "w")
rooms = itchat.get_chatrooms(update = True)
for room in rooms:
    print(room['NickName'])
    f.write(str(room) + "\n")
    if room['NickName'] == '▄█▀█●':
        print("发送")
        print(itchat.send('代码测试黑名单', room['UserName']))
        os.sys.exit(1)
f.close()