コード例 #1
0
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)
コード例 #2
0
ファイル: something.py プロジェクト: satan007/RogueBot
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)
コード例 #3
0
ファイル: orc_shop.py プロジェクト: jofg123/Rogue
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))
コード例 #4
0
ファイル: orc_shop.py プロジェクト: yegorf1/RogueBot
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))
コード例 #5
0
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)
コード例 #6
0
ファイル: meet_defenition.py プロジェクト: yegorf1/RogueBot
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)
コード例 #7
0
ファイル: pets_defenition.py プロジェクト: KaneNOD/RogueBot
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)
コード例 #8
0
ファイル: pets_defenition.py プロジェクト: yegorf1/RogueBot
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)
コード例 #9
0
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)
コード例 #10
0
ファイル: kodzima.py プロジェクト: yegorf1/RogueBot
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)
コード例 #11
0
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)