Пример #1
0
def respondTo(message, sender):

	MAINTENANCE = False

	message_id = message.get('message_id')
	date = message.get('date')
	text = message.get('text')
	sender = message.get('from')
	senderID = str(sender['id'])
	senderFirstName = sender['first_name']
	chat = message['chat']
	chat_id = str(chat['id'])

	logging.info('Message ' + text + ' from ' + senderFirstName + '(' + senderID + ')')

	answer = u''

	if MAINTENANCE:
		if senderID != '13278104':
			return u'SCWKbot wird gerade gewartet!'
		else:
			answer = answer + u'Achtung, Wartung aktiv!\n'

	user = UserController.get(senderID)
	if not user:
		user = User.create(senderID, senderFirstName, chat_id)
	
	textSplit = text.partition(' ')
	command = textSplit[0].lower()
	additional = None
	if textSplit[2]:
		additional = textSplit[2]

	if command.startswith(u'an'):
		return  answer + UserController.registerForEvent(user, additional)

	if command.startswith(u'ab'):
		return  answer + UserController.cancelForEvent(user, additional)

	if command.startswith(u'info'):
		return  answer + UserController.infoForEvent(user, additional)

	if command.startswith(u'fahrtlöschen'):
		return  answer + DriverController.delete(user, additional)
	if command.startswith(u'fahrt'):
		return  answer + DriverController.create(user, additional)

	if user.admin:
		if command.startswith(u'erstell'):
			return  answer + EventController.create(user, additional)
		if command.startswith(u'lösch'):
			return  answer + EventController.delete(user, additional)
		if command.startswith(u'updaterepeating'):
			return  answer + EventController.updateRepeating(user, additional)
		if command.startswith(u'fahrerliste'):
			return  answer + DriverController.listByUser(additional)
	return answer + getHelpText(user)
Пример #2
0
def respond_to_text(message, text, sender):
    MAINTENANCE = False

    message_id = message.get('message_id')
    date = message.get('date')
    sender = message.get('from')
    senderID = str(sender['id'])
    senderFirstName = sender['first_name']
    chat = message['chat']
    chat_id = str(chat['id'])

    def send(msg):
        main.send(msg, chat_id)

    logging.info('Message ' + text + ' from ' + senderFirstName + '(' +
                 senderID + ')')

    answer = u''

    if MAINTENANCE:
        if senderID != '13278104':
            send(u'SCWKbot wird gerade gewartet!')
        else:
            answer = answer + u'Achtung, Wartung aktiv!\n'

    user = UserController.get(senderID)
    if not user:
        user = User.create(senderID, senderFirstName, chat_id)

    textSplit = text.partition(' ')
    command = textSplit[0].lower()
    additional = None
    if textSplit[2]:
        additional = textSplit[2].strip()

    if command.startswith(u'an'):
        send(answer + UserController.registerForEvent(user, additional))
        return

    if command.startswith(u'ab'):
        send(answer + UserController.cancelForEvent(user, additional))
        return

    if command.startswith(u'info'):
        send(answer + UserController.infoForEvent(user, additional))
        return

    if command.startswith(u'fahrtlöschen'):
        send(answer + DriverController.delete(user, additional))
        return
    if command.startswith(u'fahrt'):
        send(answer + DriverController.create(user, additional))
        return

    if user.admin:
        if command.startswith(u'erstell'):
            send(answer + EventController.create(user, additional))
            return
        if command.startswith(u'lösch'):
            send(answer + EventController.delete(user, additional))
            return
        if command.startswith(u'updaterepeating'):
            send(answer + EventController.updateRepeating(user, additional))
            return
        if command.startswith(u'fahrerliste'):
            send(answer + DriverController.listByUser(additional))
            return
    send(answer + getHelpText(user))