Beispiel #1
0
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')
Beispiel #2
0
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)
Beispiel #3
0
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'
Beispiel #4
0
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)
Beispiel #5
0
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'
Beispiel #6
0
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')
Beispiel #7
0
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')
Beispiel #8
0
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')
Beispiel #9
0
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')
Beispiel #10
0
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
Beispiel #11
0
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
Beispiel #12
0
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')