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): question = user.get_room_temp('question', def_val='first') if question == 'first': if text == TOOK_TOOK: msg = ( '—Проходи, {0}, чего хотел?\nНа негнущихся коленях Вы проходите в середину комнаты. ' 'Да, глаза Вас не подвели, это действительно...\n*Хидэо Кодзима*!' ).format(user.name) reply(msg) user.set_room_temp('question', 'kodzima') elif text == SPINE: reply( 'Начав движение, из-за спины Вы слышите голос с небольшим восточным акцентом:—Ты что, идиот?' ) user.set_room_temp('question', 'spine') elif question == 'kodzima': if text == QUESTION_KODZIMA: user1 = usermanager.random_user() user2 = usermanager.random_user() name1 = user1.name name2 = user2.name reply( '—Так же, как и ты, очевидно же. Всё, не занимай линию, там за тобой уже двое в очереди. {0} и {1}, чёрт бы его побрал, уже третий раз за сегодня' .format(name1, name2)) else: reply( 'От волнения Вы не придумали ничего лучше, как рассказать анекдот собственного сочинения.\n—Заходит как-то геймдизайнер в бар, \n—бодро начинаете Вы, но неожиданно с Вашим лицом резко стыкуется табурет, на котором недавно сидел Хидэо:—Пошёл вон!' ) user.make_damage(25, 50, reply, False) reply('Тебя выставили за дверь') user.leave(reply) elif question == 'spine': reply( 'Вы испытываете сильный стыд и так краснеете, что на лице лопается капилляр.' ) user.make_damage(10, 15, reply, False) user.leave(reply)
def enter(user, reply): usr = usermanager.random_user() msg = ( 'Перед тобой находится какая-то будка, неумело сколоченная из каких-то кривых досок. ' 'За широкой деревянной доской (прилавок) на воображаемой табуретке сидит зеленый бугай ' 'метра 2 ростом. Серьезно, он сидит в воздухе! Завидев тебя, он что-то нечленораздельно ' 'говорит, ты понимаешь лишь:\n' '«Привит, юдишка! Йа есть Боба! Босс сказал Бобе таргавать!! Боба типерь умеет в тарговлю!»\n\n' 'Зуб (Цена 1 зуб)\n' 'Тока што выбил с {0}, дажи кечтуп ищо капаит!\n\n' 'Палка (Цена 5 зубов)\n' 'Плахая палка, адной такой стукнул юдишку — а она сламалась\n\n' 'Парашок (Цена 5 зубов)\n' 'Вкусный парашок, клянусь Горком и Морком!') reply(msg.format(usr.name))
def enter(user, reply): usr = usermanager.random_user() msg = ( 'Перед тобой находится какая-то будка, неумело сколоченная из каких-то кривых досок. ' 'За широкой деревянной доской (прилавок) на воображаемой табуретке сидит зеленый бугай ' 'метра 2 ростом. Серьезно, он сидит в воздухе! Завидев тебя, он что-то нечленораздельно ' 'говорит, ты понимаешь лишь:\n' '«Привит, юдишка! Йа есть Боба! Босс сказал Бобе таргавать!! Боба типерь умеет в тарговлю!»\n\n' 'Зуб (Цена 1 зуб)\n' 'Тока што выбил с {0}, дажи кечтуп ищо капаит!\n\n' 'Палка (Цена 5 зубов)\n' 'Плахая палка, адной такой стукнул юдишку — а она сламалась\n\n' 'Парашок (Цена 5 зубов)\n' 'Вкусный парашок, клянусь Горком и Морком!' ) reply(msg.format(usr.name))
def name_given(self, reply, name): if '_' in name: reply(locale_manager.get('NAME_ERROR')) else: n = name while n == name: usr = usermanager.random_user() n = usr.name msg = locale_manager.get('NAME_CONFIRM').format(n, name) buttons = [ locale_manager.get('NAME_AGREE'), locale_manager.get('NAME_DISMISS') ] self.state = 'name_confirm' self.name = name reply(msg, buttons)
def name_given(self, reply, name): if not only_letters(name) or len(name) <= 0: reply(locale_manager.get('NAME_ERROR')) else: n = name while n == name: usr = usermanager.random_user() n = usr.name msg = locale_manager.get('NAME_CONFIRM').format(n, name) buttons = [ locale_manager.get('NAME_AGREE'), locale_manager.get('NAME_DISMISS') ] self.state = 'name_confirm' self.name = antimat(name) reply(msg, buttons)
def on_pet(self, reply, text): if self.state == 'pet_confirm': if text == 'Да': name = self.pet[1] reply('Прощай, {0}'.format(name)) reply('Как назовем нового?') self.pet = self.get_variable('new_pet') self.state = 'pet_name' else: reply('Видно не судьба') self.leave(reply) else: if '_' in text: reply('Это же _питомец_! Зачем тебе подчеркивания в его имени?') else: usr = usermanager.random_user() reply('Отличный выбор. Наверное.. Я свою дочь вообще назвал {0}. Нет у меня вкуса'.format(usr.name)) self.pet = (self.pet, text) self.leave(reply)
def on_pet(self, reply, text): if self.state == "pet_confirm": if text == "Да": name = self.pet[1] reply("Прощай, {0}".format(name)) reply("Как назовем нового?") self.pet = self.get_variable("new_pet") self.state = "pet_name" else: reply("Видно не судьба") self.leave(reply) else: if "_" in text: reply("Это же _питомец_! Зачем тебе подчеркивания в его имени?") else: usr = usermanager.random_user() reply("Отличный выбор. Наверное.. Я свою дочь вообще назвал {0}. Нет у меня вкуса".format(usr.name)) self.pet = (self.pet, text) self.leave(reply)
def on_pet(self, reply, text): if self.state == 'pet_confirm': if text == 'Да': name = self.pet[1] reply('Прощай, {0}'.format(name)) reply('Как назовем нового?') self.pet = self.get_variable('new_pet') self.state = 'pet_name' else: reply('Видно не судьба') self.leave(reply) else: if '_' in text: reply('Это же _питомец_! Зачем тебе подчеркивания в его имени?') else: usr = usermanager.random_user() reply('Красивое имя. Я бы своего ребёнка так назвал. '.format( usr.name)) self.pet = (self.pet, text) self.leave(reply)
def action(user, reply, text): question = user.get_room_temp('question', def_val='first') if question == 'first': if text == HOW: user1 = usermanager.random_user() user2 = usermanager.random_user() name1 = user1.name name2 = user2.name reply('—Так же, как и ты, очевидно же. Всё, не занимай линию, там за тобой уже двое в очереди. {0} и {1}, чёрт бы его побрал, уже третий раз за сегодня'.format(name1, name2)) reply('Тебя выставили за дверь.') user.leave(reply) elif text == ASK: reply('—Только один.', photo=KODZIMA_STICKER) user.set_room_temp('question', 'question') else: reply('От волнения Вы не придумали ничего лучше, как рассказать анекдот собственного сочинения.\n—Заходит как-то геймдизайнер в бар, \n—бодро начинаете Вы, но неожиданно с Вашим лицом резко стыкуется табурет, на котором недавно сидел Хидэо:—Пошёл вон!') user.make_damage(25, 50, reply, False) reply('Тебя выставили за дверь.') user.leave(reply) elif question == 'question': if text == ANYTHING_ELSE: msg = ( '—Ахаха. АХАХАХА. Насмешил, юродивый. Пораскинь мозгами, если коридор бесконечен,' ' то место, где он находится, должно быть *больше, чем бесконечность*. Ты ещё ' 'скажи, что где-то существует огромная яркая жёлтая штука над головой и мы всего ' 'лишь записаны в память машины, размером меньше сундука, ахаха. Вот, держи ложку и ' 'поменьше думай про всякую чушь.' ) reply(msg) user.set_room_temp('question', 'spoon') else: msg = ( '—Это долгая история... В те времена, когда я и Гейб ещё не были совращены лёгкими ' 'деньгами, текущими золотой рекой из кошельков родителей школьников, мы сидели в ' 'гараже и размышляли. Я пил какао, а он, как обычно, ел курочку. И тут меня словно ' 'озарило: «Габе, как ты думаешь, есть ли такое существо, которым можно описать ' 'человеческое существование?». Начался жаркий спор, в ходе которого и родился ' 'прообраз Слизня, сидящего в комнате, и ждущего когда его раздавит кто-то вроде тебя, {0}.' ) reply(msg.format(user.name)) user.set_room_temp('question', 'slime') elif question == 'slime': reply( '—Вот же глупенький. В Слизне заключены четыре экзистенциальные данности:' '\n1. Смерть\n2. Свобода воли\n3. Одиночество\n4. Бессмысленность\n\n' 'За сим прощаюсь, моя смена заканчивается. Надеюсь, эта информация ' 'не сведёт тебя с ума.Ты мне даже понравился. Вот держи, на память.' ) user.add_item('special', 'spoilers') user.leave(reply) elif question == 'spoon': if text == BRAINSTORM: reply('Ты перестарался и мозги раскинулись по всей комнате. ') user.death(reply, reason='Повышенная умственная активность') else: reply('Получена Серебрянная ложка') user.add_item('special', 'good_spoon') user.leave(reply)
def action(user, reply, text): question = user.get_room_temp('question', def_val='first') if question == 'first': if text == HOW: user1 = usermanager.random_user() user2 = usermanager.random_user() name1 = user1.name name2 = user2.name reply('—Так же, как и ты, очевидно же. Всё, не занимай линию, там за тобой уже двое в очереди. {0} и {1}, чёрт бы его побрал, уже третий раз за сегодня'.format(name1, name2)) reply('Тебя выставили за дверь.') user.leave(reply) elif text == ASK: reply('—Только один.', photo='BQADAgAD-QADDLXzAzuWRnAhjRHlAg') user.set_room_temp('question', 'question') else: reply('От волнения Вы не придумали ничего лучше, как рассказать анекдот собственного сочинения.\n—Заходит как-то геймдизайнер в бар, \n—бодро начинаете Вы, но неожиданно с Вашим лицом резко стыкуется табурет, на котором недавно сидел Хидэо:—Пошёл вон!') user.make_damage(25, 50, reply, False) reply('Тебя выставили за дверь.') user.leave(reply) elif question == 'question': if text == ANYTHING_ELSE: msg = ( '—Ахаха. АХАХАХА. Насмешил, юродивый. Пораскинь мозгами, если коридор бесконечен,' ' то место, где он находится, должно быть *больше, чем бесконечность*. Ты ещё ' 'скажи, что где-то существует огромная яркая жёлтая штука над головой и мы всего ' 'лишь записаны в память машины, размером меньше сундука, ахаха. Вот, держи ложку и ' 'поменьше думай про всякую чушь.' ) reply(msg) user.set_room_temp('question', 'spoon') else: msg = ( '—Это долгая история... В те времена, когда я и Гейб ещё не были совращены лёгкими ' 'деньгами, текущими золотой рекой из кошельков родителей школьников, мы сидели в ' 'гараже и размышляли. Я пил какао, а он, как обычно, ел курочку. И тут меня словно ' 'озарило: «Габе, как ты думаешь, есть ли такое существо, которым можно описать ' 'человеческое существование?». Начался жаркий спор, в ходе которого и родился ' 'прообраз Слизня, сидящего в комнате, и ждущего когда его раздавит кто-то вроде тебя, {0}.' ) reply(msg.format(user.name)) user.set_room_temp('question', 'slime') elif question == 'slime': reply( '—Вот же глупенький. В Слизне заключены четыре экзистенциальные данности:' '\n1. Смерть\n2. Свобода воли\n3. Одиночество\n4. Бессмысленность\n\n' 'За сим прощаюсь, моя смена заканчивается. Надеюсь, эта информация ' 'не сведёт тебя с ума.Ты мне даже понравился. Вот держи, на память.' ) user.add_item('special', 'spoilers') user.leave(reply) elif question == 'spoon': if text == BRAINSTORM: reply('Ты перестарался и мозги раскинулись по всей комнате. ') user.death(reply, reason='Повышенная умственная активность') else: reply('Получена Серебрянная ложка') user.add_item('special', 'good_spoon') user.leave(reply)