def Broadcast(msg): msg = utf82unicode(msg) msg_body = u'[administrator]: %s' % msg users_dict = getUserListFromCache() for gtalk in users_dict.keys(): xmpp_api.xmpp_sendmsg(gtalk,msg_body) return len(users_dict.keys())
def Broadcast(msg): msg = utf82unicode(msg) msg_body = u'[administrator]: %s' % msg users_dict = getUserListFromCache() for gtalk in users_dict.keys(): xmpp_api.xmpp_sendmsg(gtalk, msg_body) return len(users_dict.keys())
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 checkUserOnline(): ret_msg = '' online_users = getOnlineUserListFromCache() all_users = getUserListFromCache() for user in all_users.values(): if user.gtalk.find('@gmail.com') == -1: continue if xmpp_api.isOnline(user.gtalk): if user.gtalk not in online_users: addUserToOnlineUserList(user.gtalk) if not user.recvOnlineMsg: xmpp_api.xmpp_sendmsg(user.gtalk,'[NOTICE]:You CANT Receive Any Msg Since Your OnlineMsgFlag is Off.') else: if user.gtalk in online_users: delUserFromOnlineUserList(user.gtalk)
def checkUserOnline(): ret_msg = '' online_users = getOnlineUserListFromCache() all_users = getUserListFromCache() for user in all_users.values(): if user.gtalk.find('@gmail.com') == -1: continue if xmpp_api.isOnline(user.gtalk): if user.gtalk not in online_users: addUserToOnlineUserList(user.gtalk) if not user.recvOnlineMsg: xmpp_api.xmpp_sendmsg( user.gtalk, '[NOTICE]:You CANT Receive Any Msg Since Your OnlineMsgFlag is Off.' ) else: if user.gtalk in online_users: delUserFromOnlineUserList(user.gtalk)
def checkDarkRoomList(minute): ret_msg = u'%s 从小黑屋里刑满释放了' users_list = getDarkRoomUserList() time_now = time.time() for gtalk in users_list.keys(): offset = time_now - users_list[gtalk] if offset > minute*60: delDarkRoomUserList(gtalk) db_user = getUserByName(gtalk) if db_user.recvOfflineMsg: addUserToOfflineMsgOnUserList(gtalk) if db_user.recvOnlineMsg: addUserToOnlineMsgOnUserList(gtalk) broastcastMsg(ret_msg % db_user.nickname,gtalk) xmpp_api.xmpp_sendmsg(gtalk,ret_msg % db_user.nickname) #return ret_msg % db_user.nickname elif offset > (minute*60-60) and offset < minute*60: xmpp_api.xmpp_sendmsg(gtalk,'[administrator]: you will be free 1 minute')
def checkDarkRoomList(minute): ret_msg = u'%s 从小黑屋里刑满释放了' users_list = getDarkRoomUserList() time_now = time.time() for gtalk in users_list.keys(): offset = time_now - users_list[gtalk] if offset > minute * 60: delDarkRoomUserList(gtalk) db_user = getUserByName(gtalk) if db_user.recvOfflineMsg: addUserToOfflineMsgOnUserList(gtalk) if db_user.recvOnlineMsg: addUserToOnlineMsgOnUserList(gtalk) broastcastMsg(ret_msg % db_user.nickname, gtalk) xmpp_api.xmpp_sendmsg(gtalk, ret_msg % db_user.nickname) #return ret_msg % db_user.nickname elif offset > (minute * 60 - 60) and offset < minute * 60: xmpp_api.xmpp_sendmsg( gtalk, '[administrator]: you will be free 1 minute')
def addBlockUserList(from_user, block_user): if from_user == block_user: if isInDarkRoomUserList(block_user): addDarkRoomUserList(block_user) return ret_msg = u'%s 自己钻到小黑屋了' db_user = getUserByName(block_user) if db_user.recvOfflineMsg: delUserFromOfflineMsgOnUserList(block_user) if db_user.recvOnlineMsg: delUserFromOnlineMsgOnUserList(block_user) broastcastMsg(ret_msg % db_user.nickname, block_user) xmpp_api.xmpp_sendmsg(block_user, ret_msg % db_user.nickname) addDarkRoomUserList(block_user) return users_dict = getBlockUserList() if users_dict is None: users_dict = {} if users_dict.get(block_user, None) is None: users_dict[block_user] = {} users_dict[block_user][from_user] = time.time() setConfigValueWithCache('cache_block_user_list', users_dict)
def addBlockUserList(from_user,block_user): if from_user == block_user: if isInDarkRoomUserList(block_user): addDarkRoomUserList(block_user) return ret_msg = u'%s 自己钻到小黑屋了' db_user = getUserByName(block_user) if db_user.recvOfflineMsg: delUserFromOfflineMsgOnUserList(block_user) if db_user.recvOnlineMsg: delUserFromOnlineMsgOnUserList(block_user) broastcastMsg(ret_msg % db_user.nickname,block_user) xmpp_api.xmpp_sendmsg(block_user,ret_msg % db_user.nickname) addDarkRoomUserList(block_user) return users_dict = getBlockUserList() if users_dict is None: users_dict = {} if users_dict.get(block_user,None) is None: users_dict[block_user] = {} users_dict[block_user][from_user] = time.time() setConfigValueWithCache('cache_block_user_list',users_dict)
def checkBlockUserList(number, minute): time_now = time.time() ret_msg = u'%s 被大家抬到小黑屋了' block_users = getBlockUserList() for block_user in block_users.keys(): from_users = block_users[block_user] for from_user in from_users.keys(): if time_now - from_users[from_user] > minute * 60: from_users.pop(from_user) if len(from_users.keys()) >= number: if isInDarkRoomUserList(block_user): #return 'blocked already' continue block_users.pop(block_user) setConfigValueWithCache('cache_block_user_list', block_users) db_user = getUserByName(block_user) if db_user.recvOfflineMsg: delUserFromOfflineMsgOnUserList(block_user) if db_user.recvOnlineMsg: delUserFromOnlineMsgOnUserList(block_user) broastcastMsg(ret_msg % db_user.nickname, block_user) xmpp_api.xmpp_sendmsg(block_user, ret_msg % db_user.nickname) addDarkRoomUserList(block_user)
def checkBlockUserList(number,minute): time_now = time.time() ret_msg = u'%s 被大家抬到小黑屋了' block_users = getBlockUserList() for block_user in block_users.keys(): from_users = block_users[block_user] for from_user in from_users.keys(): if time_now - from_users[from_user] > minute*60: from_users.pop(from_user) if len(from_users.keys()) >= number: if isInDarkRoomUserList(block_user): #return 'blocked already' continue block_users.pop(block_user) setConfigValueWithCache('cache_block_user_list',block_users) db_user = getUserByName(block_user) if db_user.recvOfflineMsg: delUserFromOfflineMsgOnUserList(block_user) if db_user.recvOnlineMsg: delUserFromOnlineMsgOnUserList(block_user) broastcastMsg(ret_msg % db_user.nickname,block_user) xmpp_api.xmpp_sendmsg(block_user,ret_msg % db_user.nickname) addDarkRoomUserList(block_user)
def cleanUserDo(days=90): time_dot = time.time() - days * 24 * 60 * 60 time_dot_warning = time_dot + 10 * 24 * 60 * 60 all_users_dict = getUserListFromCache() users_dict = getUserCountList() num = 0 for gtalk in all_users_dict.keys(): if gtalk in users_dict.keys(): user_data = users_dict[gtalk] if user_data['time'] < time_dot: kickuser(gtalk) notice_msg = 'NOTICE:Its so long time since you last chat,you are kicked out of group %s' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk, notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) num += 1 else: if user_data['time'] < time_dot_warning: notice_msg = 'WARNING:Its so long time since you last chat in group %s,you will be kicked out of this group in 10 days' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk, notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) else: user = all_users_dict[gtalk] join_time = user.time time_str = join_time.__str__() time1 = time.strptime(time_str[0:19], '%Y-%m-%d %H:%M:%S') time2 = time.mktime(time1) #return time2 if time2 < time_dot: kickuser(gtalk) notice_msg = 'NOTICE:Its so long time and you never chat in group %s,you are kicked out of this group' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk, notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) num += 1 else: if time2 < time_dot_warning: notice_msg = 'WARNING:Its so long time and you never chat in group %s,you will be kicked out of this group in 10 days' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk, notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) return num
def cleanUserDo(days=90): time_dot = time.time() - days * 24 * 60 * 60 time_dot_warning = time_dot + 10 * 24 * 60 * 60 all_users_dict = getUserListFromCache() users_dict = getUserCountList() num = 0 for gtalk in all_users_dict.keys(): if gtalk in users_dict.keys(): user_data = users_dict[gtalk] if user_data['time'] < time_dot: kickuser(gtalk) notice_msg = 'NOTICE:Its so long time since you last chat,you are kicked out of group %s' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk,notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) num += 1 else: if user_data['time'] < time_dot_warning: notice_msg = 'WARNING:Its so long time since you last chat in group %s,you will be kicked out of this group in 10 days' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk,notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) else: user = all_users_dict[gtalk] join_time = user.time time_str = join_time.__str__() time1 = time.strptime(time_str[0:19],'%Y-%m-%d %H:%M:%S') time2 = time.mktime(time1) #return time2 if time2 < time_dot: kickuser(gtalk) notice_msg = 'NOTICE:Its so long time and you never chat in group %s,you are kicked out of this group' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk,notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) num += 1 else: if time2 < time_dot_warning: notice_msg ='WARNING:Its so long time and you never chat in group %s,you will be kicked out of this group in 10 days' % config.GROUP_ACCOUNT xmpp_api.xmpp_sendmsg(gtalk,notice_msg) mail.send_mail(config.ADMIN_GTALK, gtalk, notice_msg, notice_msg) return num
def broastcastMsg(msg,from_gtalk,hint=True): msg = utf82unicode(msg) user = getUserByName(from_gtalk) if user is None: return if hint: msg_body = u'[administrator]: %s' % msg else: msg_body = u'%s: %s' % (user.nickname,msg) if isInDarkRoomUserList(from_gtalk): msg_body = u'[%s]: %s' % (user.nickname,msg) users_dict = getDarkRoomUserList() for gtalk in users_dict.keys(): if from_gtalk == gtalk: continue xmpp_api.xmpp_sendmsg(gtalk,msg_body) return online_users = getOnlineUserListFromCache() online_msgon_users = getOnlineMsgOnUserListFromCache() for gtalk in online_msgon_users: if from_gtalk == gtalk: continue if gtalk in online_users: xmpp_api.xmpp_sendmsg(gtalk,msg_body) nowtime = time.time() + 8 * 3600 tmptime = time.localtime(nowtime) time_str = ' (%s)' % time.strftime('%m.%d %H:%M',tmptime) if not hint: offline_msgon_users = getOfflineMsgOnUserListFromCache() for gtalk in offline_msgon_users: if from_gtalk == gtalk: continue if gtalk not in online_users: xmpp_api.xmpp_sendmsg(gtalk,msg_body + time_str)
def broastcastMsg(msg, from_gtalk, hint=True): msg = utf82unicode(msg) user = getUserByName(from_gtalk) if user is None: return if hint: msg_body = u'[administrator]: %s' % msg else: msg_body = u'%s: %s' % (user.nickname, msg) if isInDarkRoomUserList(from_gtalk): msg_body = u'[%s]: %s' % (user.nickname, msg) users_dict = getDarkRoomUserList() for gtalk in users_dict.keys(): if from_gtalk == gtalk: continue xmpp_api.xmpp_sendmsg(gtalk, msg_body) return online_users = getOnlineUserListFromCache() online_msgon_users = getOnlineMsgOnUserListFromCache() for gtalk in online_msgon_users: if from_gtalk == gtalk: continue if gtalk in online_users: xmpp_api.xmpp_sendmsg(gtalk, msg_body) nowtime = time.time() + 8 * 3600 tmptime = time.localtime(nowtime) time_str = ' (%s)' % time.strftime('%m.%d %H:%M', tmptime) if not hint: offline_msgon_users = getOfflineMsgOnUserListFromCache() for gtalk in offline_msgon_users: if from_gtalk == gtalk: continue if gtalk not in online_users: xmpp_api.xmpp_sendmsg(gtalk, msg_body + time_str)
def sendMsgToAdminUsers(msg): users = DBUser.all().filter('isAdmin =', True).fetch(1000) for user in users: xmpp_api.xmpp_sendmsg(user.gtalk, msg)
def sendMsgToAdminUsers(msg): users = DBUser.all().filter('isAdmin =', True).fetch(1000) for user in users: xmpp_api.xmpp_sendmsg(user.gtalk,msg)