def divine_intervention(bot, job): logger.info('Divine intervention!') for uid in usermanager.get_telegram_users(): global msg, image, buttons msg = '' image = None buttons = None def rep(txt, btns=None, photo=None): global msg, image, buttons if len(msg) + len(txt) + 2 >= 4096: reply(uid, bot, msg, buttons, image) msg = '' image = None buttons = None msg += '\n\n' msg += txt if btns: buttons = btns if photo: image = photo usermanager.divine_intervention(uid, rep) if len(msg) > 0 or image: reply(uid, bot, msg, buttons, image)
def action(user, reply, text): question = user.get_room_temp('question', def_val='first') if question == 'first': user.set_room_temp('goal_name', text) user.set_room_temp('question', 'second') reply('Теперь напечатай текст послания.') else: name = user.get_room_temp('goal_name', def_val='____') found_uid = 0 found_usr = None for uid in usermanager.get_telegram_users(): usr = usermanager.get_user(uid) if usr.name == name: found_uid = uid found_usr = usr break if found_usr is None: reply('Вашего адресата мы не нашли, но нашли кое-кого другого') found_usr = usermanager.random_user() reply('Отлично! Доставим в кратчайшие сроки.') if found_uid == user.uid: user.add_item('good', 'stone', {'message': text}) else: found_usr.add_item('good', 'stone', {'message': text}) usermanager.save_user(found_usr) user.leave(reply)
def action(user, reply, text): if text == 'Посмотреть в шар': users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if not usr.dead and usr.get_time_from_last_message( ) < 5 * 60 and usr.uid != user.uid: user_id = usr_id found_user = usr break if found_user is None: reply('Ничего не видно..') else: name = found_user.name if found_user.pet: pet = found_user.get_pet() name += ' и {0} {1}'.format(pet.name, pet.real_name) res = 'Вижу.. Вижу.. {0}... Ничего не видно..' if found_user.dead: res = '{0} валяется мертвым на краю мира..' elif found_user.state == 'corridor': res = '{0} пялится на коридор.' elif found_user.state == 'pray': res = '{0} молится Богам.' elif found_user.state == 'shop': res = '{0} затаривается вещичками.' elif found_user.state == 'inventory': res = '{0} копается в инвентаре.' elif found_user.state == 'room': res = ('{0} находится в комнате..\n\n' 'И видит..\n') room = roomloader.load_room(found_user.room[1], found_user.room[0], found_user) room_name = room.name res += room_name elif found_user.state == 'dice': res = ('{0} находится в комнате..\n\n' 'И бросает кости в..\n') room = roomloader.load_room(found_user.room[1], found_user.room[0], found_user) room_name = room.name res += room_name elif found_user.state == 'reborned': res = '{0} понимает, что «' + str( found_user.reborn_answer) + '»' reply(res.format(name)) else: user.leave(reply)
def notify(bot, update): if str(update.message.chat_id) in config.ADMINS_IDS: msg = update.message.text[len('/notify'):] logger.info(msg) for user_id in usermanager.get_telegram_users(): try: reply(user_id, bot, msg) except: logger.info('Couldn\'t send message to {0}'.format(user_id)) else: bot.sendMessage(update.message.chat_id, text='NO.')
def notify(bot, update): if str(update.message.chat_id) in config.ADMINS_IDS: msg = update.message.text[len('/notify'):] logger.info(msg) for user_id in usermanager.get_telegram_users(): try: bot.sendMessage(user_id, text=msg) except: logger.info('Couldn\'t send message to {0}'.format(user_id)) else: bot.sendMessage(update.message.chat_id, text='NO.')
def notify(bot, update): if update.message.chat_id == config.MODERS_CHAT: msg = update.message.text[len('/notify@ideasrogbot'):] logger.info(msg) for user_id in usermanager.get_telegram_users(): try: reply(user_id, bot, msg) except: logger.info('Couldn\'t send message to {0}'.format(user_id)) else: bot.sendMessage(update.message.chat_id, text='Много хочешь')
def enter(user, reply): users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if usr.dead: user_id = usr_id found_user = usr break if found_user is not None: reply('Здесь лежат останки игрока {0}'.format(found_user.name), photo='BQADAgADFwkAAmrZzgf5q0m1CmsDggI') user.set_room_temp('items', found_user.items) else: reply('Здесь лежат останки лягушки. Воняет. Ты уходишь отсюда побыстрее.', photo='BQADAgADFwkAAmrZzgf5q0m1CmsDggI') user.leave(reply)
def enter(user, reply): users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if usr.dead: user_id = usr_id found_user = usr break if found_user is not None: reply('Здесь лежат останки игрока {0}'.format(found_user.name)) user.set_room_temp('items', found_user.items) else: reply('Здесь лежат останки лягушки. Воняет. Ты уходишь отсюда побыстрее') user.leave(reply)
def enter(user, reply): users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if not usr.dead and usr.get_time_from_last_message() < 5 * 60 and usr.uid != user.uid: user_id = usr_id found_user = usr break if found_user is not None: reply('Гоп стоп! Да это же {0}!'.format(found_user.name)) user.set_room_temp('uid', found_user.uid) user.set_room_temp('steal_tries', 0) else: reply('Убежал куда-то..') user.leave(reply)
def enter(user, reply): users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if not usr.dead and usr.get_time_from_last_message( ) < 5 * 60 and usr.uid != user.uid: user_id = usr_id found_user = usr break if found_user is not None: reply('Гоп стоп! Да это же {0}!'.format(found_user.name)) user.set_room_temp('uid', found_user.uid) user.set_room_temp('steal_tries', 0) else: reply('Убежал куда-то..') user.leave(reply)
def enter(user, reply): users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if usr.dead: user_id = usr_id found_user = usr break if found_user is not None: reply('Здесь лежат останки игрока {0}'.format(found_user.name), photo='BQADAgADFwkAAmrZzgf5q0m1CmsDggI') user.set_room_temp('items', found_user.items) else: reply( 'Здесь лежат останки лягушки. Воняет как от старого пенсионера. Ты уходишь отсюда побыстрее.' ) user.leave(reply)
def action(user, reply, text): if text == 'Посмотреть в шар': users = list(usermanager.get_telegram_users()) random.shuffle(users) user_id = None found_user = None for usr_id in users: usr = usermanager.get_user(usr_id) if not usr.dead and usr.get_time_from_last_message() < 5 * 60 and usr.uid != user.uid: user_id = usr_id found_user = usr break if found_user is None: reply('Ничего не видно..') else: name = found_user.name if found_user.pet: pet = found_user.get_pet() name += ' и {0} {1}'.format(pet.name, pet.real_name) res = 'Вижу.. Вижу.. {0}... Ничего не видно..' if found_user.dead: res = '{0} валяется мертвым на краю мира..' elif found_user.state == 'corridor': res = '{0} пялится на коридор.' elif found_user.state == 'pray': res = '{0} молится Богам.' elif found_user.state == 'shop': res = '{0} затаривается вещичками.' elif found_user.state == 'inventory': res = '{0} копается в инвентаре.' elif found_user.state == 'room': res = ( '{0} находится в комнате..\n\n' 'И видит..\n' ) room = roomloader.load_room(found_user.room[1], found_user.room[0], found_user) room_name = room.name res += room_name elif found_user.state == 'dice': res = ( '{0} находится в комнате..\n\n' 'И бросает кости в..\n' ) room = roomloader.load_room(found_user.room[1], found_user.room[0], found_user) room_name = room.name res += room_name elif found_user.state == 'reborned': res = '{0} понимает, что «' + str(found_user.reborn_answer) + '»' reply(res.format(name)) else: user.leave(reply)