def CmdUserDo(from_name,msg): ret_str = u'init' if GetCmdNum(msg) != 2: return 'error:need user nickname or gtalk' nickname = GetCmdByNum(msg,2) if mail.is_email_valid(nickname): user = funcs.getUserByName(nickname) if user is None: user = funcs.getUserByNickname(nickname) else: user = funcs.getUserByNickname(nickname) if user is None: ret_str = u'CANT find user:%s' % nickname return ret_str.encode('utf-8') ret_str = u'%s' % user.nickname if funcs.isAdmin(from_name) or user.gtalk==from_name: ret_str += u'(%s)' % user.gtalk ret_str += u',在%s第%d个加入本群\n' % (funcs.getNatureTime(user.time),funcs.getUserNo(user.gtalk)) if funcs.isAdmin(from_name) or user.gtalk==from_name: ret_str += u'设置:' if user.recvOfflineMsg: ret_str += u'离线时接收消息' else: ret_str += u'离线时不接收消息' if user.recvOnlineMsg: ret_str += u',在线时接收消息\n' else: ret_str += u',在线时不接收消息\n' users_dict = funcs.getUserCountList() if user.gtalk in users_dict.keys(): user_data = users_dict[user.gtalk] ret_str += u'共发%d个消息,最后一次发消息在%s' % (user_data['count'],funcs.getNatureTime2(user_data['time'])) return ret_str.encode('utf-8')
def CmdMeDo(from_name,msg): ret_msg = None user = funcs.getUserByName(from_name) if user is None: return 'you(%s) are not joined' % from_name return CmdUserDo(from_name,'/user %s' % from_name)
def CmdJoinDo(from_name,msg): if funcs.isInBalckList(from_name): return 'you are in black list,contact administrator' if funcs.isHavePassword() and not funcs.isInWhiteList(from_name): if GetCmdNum(msg) != 3: if not funcs.isInGroupUser(from_name): ret_str = '%s was trying to join group' % from_name funcs.sendMsgToAdminUsers(ret_str) return 'ERROR:this group need password!' passwd = GetCmdByNum(msg,3) if not funcs.checkPassword(passwd): if not funcs.isInGroupUser(from_name): ret_str = '%s was trying to join group' % from_name funcs.sendMsgToAdminUsers(ret_str) return 'ERROR:group password not correct!' if GetCmdNum(msg) < 2: return 'need nickname' nickname = GetCmdByNum(msg,2) user = funcs.getUserByNickname(nickname) if user: return 'nickname:%s is taken by somebody' % nickname user = funcs.getUserByName(from_name) if user: return 'you have been joined already' funcs.userJoin(from_name,nickname) ret_msg = u'welcome %s joined this group' % nickname funcs.Broadcast(ret_msg) return 'you join successfully'
def CmdMeDo(from_name, msg): ret_msg = None user = funcs.getUserByName(from_name) if user is None: return 'you(%s) are not joined' % from_name return CmdUserDo(from_name, '/user %s' % from_name)
def CmdJoinDo(from_name, msg): if funcs.isInBalckList(from_name): return 'you are in black list,contact administrator' if funcs.isHavePassword() and not funcs.isInWhiteList(from_name): if GetCmdNum(msg) != 3: if not funcs.isInGroupUser(from_name): ret_str = '%s was trying to join group' % from_name funcs.sendMsgToAdminUsers(ret_str) return 'ERROR:this group need password!' passwd = GetCmdByNum(msg, 3) if not funcs.checkPassword(passwd): if not funcs.isInGroupUser(from_name): ret_str = '%s was trying to join group' % from_name funcs.sendMsgToAdminUsers(ret_str) return 'ERROR:group password not correct!' if GetCmdNum(msg) < 2: return 'need nickname' nickname = GetCmdByNum(msg, 2) user = funcs.getUserByNickname(nickname) if user: return 'nickname:%s is taken by somebody' % nickname user = funcs.getUserByName(from_name) if user: return 'you have been joined already' funcs.userJoin(from_name, nickname) ret_msg = u'welcome %s joined this group' % nickname funcs.Broadcast(ret_msg) return 'you join successfully'
def CmdOfflineMsgonDo(from_name,msg): if not funcs.isAdmin(from_name): return 'you are not administrator' users = funcs.getOfflineMsgOnUserListFromCache() ret_str = u'offline msg on user below:\n' for gtalk in users: user_data = funcs.getUserByName(gtalk) ret_str += u'%s(%s)\n' % (user_data.nickname,gtalk) return ret_str.encode('utf-8')
def CmdOfflineMsgonDo(from_name, msg): if not funcs.isAdmin(from_name): return 'you are not administrator' users = funcs.getOfflineMsgOnUserListFromCache() ret_str = u'offline msg on user below:\n' for gtalk in users: user_data = funcs.getUserByName(gtalk) ret_str += u'%s(%s)\n' % (user_data.nickname, gtalk) return ret_str.encode('utf-8')
def CmdPrivateMsgDo(from_name,msg): if GetCmdNum(msg) < 3: return 'need nickname and msg' nickname = GetCmdByNum(msg,2) user = funcs.getUserByNickname(nickname) if user is None: return 'nickname %s is unknowned' % nickname from_user = funcs.getUserByName(from_name) msg_pre = '@%s:' % from_user.nickname msgbody = msg_pre + msg[msg.find(nickname) + len(nickname)+1:].strip() xmpp_api.xmpp_sendmsg(user.gtalk,msgbody) ret_str = u'you send private msg to %s successfully' % nickname return ret_str.encode('utf-8')
def CmdPrivateMsgDo(from_name, msg): if GetCmdNum(msg) < 3: return 'need nickname and msg' nickname = GetCmdByNum(msg, 2) user = funcs.getUserByNickname(nickname) if user is None: return 'nickname %s is unknowned' % nickname from_user = funcs.getUserByName(from_name) msg_pre = '@%s:' % from_user.nickname msgbody = msg_pre + msg[msg.find(nickname) + len(nickname) + 1:].strip() xmpp_api.xmpp_sendmsg(user.gtalk, msgbody) ret_str = u'you send private msg to %s successfully' % nickname return ret_str.encode('utf-8')
def CmdInviteDo(from_name,msg): if GetCmdNum(msg) < 2: return 'error:need gtalk who be invited' invite_gmail = GetCmdByNum(msg,2) if not mail.is_email_valid(invite_gmail): return 'error:account not email' if funcs.isInBalckList(invite_gmail): funcs.delBlackList(invite_gmail) else: user = funcs.getUserByName(invite_gmail) if user: return '%s have been joined already' % invite_gmail xmpp_api.send_invite(invite_gmail) if not funcs.isInWhiteList(invite_gmail): funcs.addWhiteList(invite_gmail) return 'An invitation has been sent to %s ok,she/he can NOT chat until /join' % invite_gmail
def CmdInviteDo(from_name, msg): if GetCmdNum(msg) < 2: return 'error:need gtalk who be invited' invite_gmail = GetCmdByNum(msg, 2) if not mail.is_email_valid(invite_gmail): return 'error:account not email' if funcs.isInBalckList(invite_gmail): funcs.delBlackList(invite_gmail) else: user = funcs.getUserByName(invite_gmail) if user: return '%s have been joined already' % invite_gmail xmpp_api.send_invite(invite_gmail) if not funcs.isInWhiteList(invite_gmail): funcs.addWhiteList(invite_gmail) return 'An invitation has been sent to %s ok,she/he can NOT chat until /join' % invite_gmail
def CmdUserDo(from_name, msg): ret_str = u'init' if GetCmdNum(msg) != 2: return 'error:need user nickname or gtalk' nickname = GetCmdByNum(msg, 2) if mail.is_email_valid(nickname): user = funcs.getUserByName(nickname) if user is None: user = funcs.getUserByNickname(nickname) else: user = funcs.getUserByNickname(nickname) if user is None: ret_str = u'CANT find user:%s' % nickname return ret_str.encode('utf-8') ret_str = u'%s' % user.nickname if funcs.isAdmin(from_name) or user.gtalk == from_name: ret_str += u'(%s)' % user.gtalk ret_str += u',在%s第%d个加入本群\n' % (funcs.getNatureTime( user.time), funcs.getUserNo(user.gtalk)) if funcs.isAdmin(from_name) or user.gtalk == from_name: ret_str += u'设置:' if user.recvOfflineMsg: ret_str += u'离线时接收消息' else: ret_str += u'离线时不接收消息' if user.recvOnlineMsg: ret_str += u',在线时接收消息\n' else: ret_str += u',在线时不接收消息\n' users_dict = funcs.getUserCountList() if user.gtalk in users_dict.keys(): user_data = users_dict[user.gtalk] ret_str += u'共发%d个消息,最后一次发消息在%s' % ( user_data['count'], funcs.getNatureTime2(user_data['time'])) return ret_str.encode('utf-8')