async def check_rage_situations(self, user: discord.Member, channel: discord.TextChannel, action: str, rage_to: discord.Member): if action == self.rage_replies[0]: await channel.send(f'{user.mention}{action}'.format( rage_to.mention)) if bool(random.getrandbits(1)): throw = random.choice(self.rage_throw_glass) await channel.send( throw.format( rage_to.mention, Utility.gender(rage_to, "возбудился", "возбудилась"))) else: await channel.send( f'Вы промахнулись, стакан вдребезги разбился о стену') elif action == self.rage_replies[6]: alcoholic = Alcoholic(user.id) drink_name = random.choice(list(self.random_drinks.keys())) drink = self.random_drinks[drink_name] alcoholic.set_alco(alcoholic.alco_test() + drink[1]) await channel.send(f'{user.mention}{action}'.format( drink_name, rage_to.mention)) else: await channel.send(f'{user.mention}{action}'.format( rage_to.mention))
def createAdImpressionFeatures(self, _adImpressionsJSON): impressionsDF = u.convertJsonToDataFrame(_adImpressionsJSON, impressionSchema.AdImpressionSchema) impressionsDF[self.CONTEXT_RELEVANCE] = self.computeContextRelevanceFeature(impressionsDF) impressionsDF[self.DAY_SECTION_KEY] = self.computeDaySectionFeature(impressionsDF) return impressionsDF[self.FEATURE_LIST] \ .join(pd.get_dummies(impressionsDF[impressionSchema.AD_ID], prefix=impressionSchema.AD_ID)) \ .join(pd.get_dummies(impressionsDF[self.DAY_SECTION_KEY], prefix=self.DAY_SECTION_KEY))
def train(self, _adImpressionsJSON): model = linear_model.LogisticRegression() impressionsDF = u.convertJsonToDataFrame(_adImpressionsJSON, impressionSchema.AdImpressionSchema) features = self.createAdImpressionFeatures(_adImpressionsJSON) target = impressionsDF[impressionSchema.IS_CLICKED] model.fit(features, target) self.model = model
def find_average_search_time(self): len_search_data = self._search_time_data.shape[1] print('Size of search data list :: ' + str(len_search_data)) for i in range(len_search_data): search_time_col_i = np.array(self._search_time_data.values[:, i][2:]).astype(np.float) # print(search_time_col_i[2:]) average_search_time = Utility.get_average_search_time(search_time_col_i, 328) self._average_search_times.append(average_search_time) self._inverse_search_times = [1000 / search_time for search_time in self._average_search_times] return self._average_search_times
def build(self): self.copyAssets() self.buildIndexFile() self.buildSourceIndexFile() self.buildReferenceIndexFile() for file in self.allFiles: dictionary = {} files = [file] Utility.addFilesToDictionary(files, dictionary) Utility.readFiles(files, self.config[Constant.COMMENT_DENOTION_KEY], dictionary) self.buildReferenceFiles(file.name, dictionary) with open(file, 'r') as f: html = Utility.formatLine( f.read(), self.config[Constant.COMMENT_DENOTION_KEY]) self.buildSourceFiles(file.name, html)
def phrase_for_gifted_drink(success: bool, drink: tuple, giver: discord.Member, reciever: discord.Member) -> str: if not success: return random.choice([ f'Ой, я кажется разлил напиток от {giver.mention} для {reciever.mention}. Прошу прощения {Utility.emote("FeelsBanMan")}', f'{reciever.mention}, Вас ' + Utility.gender(giver, 'хотел угостить', 'хотела угостить') + f' {giver.mention}! {Utility.emote("PepeHappy")}' + f'\nПростите, я задумался и выпил Ваш напиток. Было вкусно {Utility.emote("pepeClown")}' ]) else: return f'{reciever.mention}, Вас {Utility.gender(giver, "угостил", "угостила")}' +\ f' {giver.mention}! {Utility.emote("PepeHappy")} Держите{drink[0]}'
def TestConvertJavascriptTimestampToDatetime(): a = u.convertIsoTimestampToDatetime('2015-06-20T19:25:47.487Z') b = datetime(2015, 6, 20, 19, 25, 47, 487000) assert a == b
def TestGetSectionOfDay(): assert u.getSectionOfDay(datetime(2015, 6, 20, 19, 25, 47, 487000)) == 4 assert u.getSectionOfDay(datetime(2015, 6, 20)) == 1 assert u.getSectionOfDay(datetime(2015, 6, 20, 0, 30)) == 1 assert u.getSectionOfDay(datetime(2015, 6, 20, 23, 30)) == 4
async def on_message(message: discord.Message): if message.author == client.user: return if ('бармен' in message.content.lower() or client.user.mention in message.content) and any( thanks in message.content.lower() for thanks in ['спасибо', 'благодарю', 'спс', 'благодарен']): if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'{message.author.mention}, Вы с кем разговариваете? {Utility.emote("durka")}' ) else: await bartender.reply_thanks(message.author, message.channel) elif message.content == '!БАРМЕН' or message.content.startswith('БАРМЕН'): await message.channel.send( f'{message.author.mention}, зачем Вы кричите на меня? {Utility.emote("pepeHands")}' ) elif message.content.lower() == '!бармен' or message.content.lower( ) == 'бармен?' or message.content.lower() == 'бармен!': if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'{message.author.mention}, Вы с кем разговариваете? {Utility.emote("durka")}' ) elif message.author.id == Constants.HACKERMAN_ID and message.content == 'бармен!': # админская команда на активацию всякой всячины bartender.special = not bartender.special await message.channel.send( f'{message.author.mention}, я за барной стойкой! {Utility.emote("pepeClown")}' ) else: await message.channel.send( f'{message.author.mention}, я за барной стойкой! {Utility.emote("pepeOK")}' ) # !алко - проверяет степень опьянённости юзера # Денис, мы по тебе скучаем if message.content == '!алко': if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'{message.author.mention}, опять за своё? {Utility.emote("durka")}' ) else: await bartender.check_alco(message.author, message.channel) # !алко [new_alco [@юзер]] - меняет степень опьянения юзера на new_aclo # если юзер не указан, действует на автора сообщения if message.content.startswith('!алко') and len( message.content.split()) > 1: if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'{message.author.mention}, опять за своё? {Utility.emote("durka")}' ) return if len(message.content.split()) == 2: user = message.author else: user = Utility.get_user_from_mention(message.content.split()[2]) if user: try: new_alco_percent = Utility.clip( int(message.content.split()[1]), 0, 100) except ValueError: new_alco_percent = None else: user = Utility.get_user_from_mention( message.content.split()[1]) try: new_alco_percent = Utility.clip( int(message.content.split()[2]), 0, 100) except ValueError: new_alco_percent = None if user: alcoholic = Alcoholic(user.id) if new_alco_percent is not None and user: # шанс успеха команды зависит от разницы нового и старого значений # чем меньше разница, тем больше шанс на успех alco_diff = new_alco_percent - alcoholic.alco_test() success = random.randrange(101) >= abs(alco_diff) if message.content.split( )[0] == '!алко_' and Utility.has_permissions(message.author): # админская команда для 100% шанса на успех success = True elif alcoholic.timeout_mins_left( ) > 0: # у полностью пьяного юзера нельзя менять степень опьянения success = False else: alco_diff = 0 success = False if success and alco_diff != 0: alcoholic.remove_timeout() alcoholic.set_alco(new_alco_percent) if user: del alcoholic # call the destructor to push data into the db await message.channel.send( choose_set_alco_phrase(message.author, user, alco_diff, success)) # !выпить [напиток] - наливает автору напиток # если напиток не указан, наливает рандомный напиток if message.content.startswith('!выпить'): if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'Пожалуйста, {message.author.mention}, Ваше успокоительное {Utility.emote("durka")}' ) elif len(message.content.split()) > 1: drink = ' '.join(message.content.split()[1:]) await bartender.give_drink(message.author, message.channel, drink) else: await bartender.give_drink(message.author, message.channel) if message.content == '!угостить барную стойку': if Alcoholic(message.author.id).in_durka(): await message.channel.send( f'Пациент начинает буянить! {Utility.emote("durka")}') return voice_channel = discord.utils.get(Constants.GUILD.voice_channels, name='Ещё на барных стульях') for user in [ u for u in voice_channel.members if u is not message.author ]: if Alcoholic(user.id).in_durka(): await message.channel.send( f'{user.mention}, Вам {Utility.gender(message.author, "передал", "передала")} успокоительное ' + f'{Utility.gender(message.author, "Ваш вымышленный друг", "Ваша вымышленная подруга")} {message.author.mention} {Utility.emote("durka")}' ) else: await bartender.give_drink(user, message.channel, gift_giver=message.author) # !угостить (@юзер [напиток]) - наливает юзеру напиток # если напиток не указан, наливает рандомный напиток elif message.content.startswith('!угостить'): if len(message.content.split()) <= 1: await message.channel.send( f'{message.author.mention}, кого угощать собрались? {Utility.emote("CoolStoryBob")}' ) return users = [] drink = ' '.join(message.content.split()[2:]).lower() if len( message.content.split()) > 2 else None if message.mention_everyone: if Utility.has_permissions(message.author): users = Utility.get_available_users( Constants.GUILD.members, [message.author, Constants.BOT]) else: await message.channel.send( f'Сразу так много клиентов не смогу обслужить, простите {Utility.emote("FeelsBanMan")}' ) return else: if (voice_channel := Utility.get_voice_channel_from_message(message.content)): drink_name = message.content.lower().replace( f'!угостить {voice_channel.name.lower()}', '').lstrip() if not drink_name: drink_name = None for user in [ u for u in voice_channel.members if u is not message.author ]: if Alcoholic(user.id).in_durka() > 0: await message.channel.send( f'{user.mention}, Вам {Utility.gender(message.author, "передал", "передала")} успокоительное ' + f'{Utility.gender(message.author, "Ваш вымышленный друг", "Ваша вымышленная подруга")} {message.author.mention} {Utility.emote("durka")}' ) else: await bartender.give_drink(user, message.channel, gift_giver=message.author, drink_name=drink_name) return else: if (role := Utility.get_role_from_mention( message.content.split()[1])): users = Utility.get_available_users( role.members, [message.author, Constants.BOT]) if not users and len(role.members) == 1 and message.author in role.members and \ not Alcoholic(message.author.id).in_durka(): await gift_drink_to_user(message.author, message.author, message.channel, drink, None) return else:
gift_giver=message.author, drink_name=drink_name) return else: if (role := Utility.get_role_from_mention( message.content.split()[1])): users = Utility.get_available_users( role.members, [message.author, Constants.BOT]) if not users and len(role.members) == 1 and message.author in role.members and \ not Alcoholic(message.author.id).in_durka(): await gift_drink_to_user(message.author, message.author, message.channel, drink, None) return else: if (user := Utility.get_user_from_mention( message.content.split()[1])): if user.id == Constants.COOKIE_ID and drink == 'пиво': await message.channel.send( f'{user.mention}, тебя {Utility.gender(message.author, "угостил", "угостила")} {message.author.mention}. Держи своё холодное пиво и горячие гренки. Кушай, кушай! {Utility.emote("beer")} {Utility.emote("MHM")}' ) alcoholic = Alcoholic(user.id) if alcoholic.alco_test() <= 50: alcoholic.set_alco(69) else: alcoholic.set_alco(alcoholic.alco_test() + 5) return else: await gift_drink_to_user(message.author, user, message.channel, drink, None) return
def TestGroupByAdId(): df = u.convertJsonToDataFrame(MOCK_AD_IMPRESSION, impressionSchema.AdImpressionSchema) fdByAdID = CtrPredictionModel.groupByAdId(df) assert len(fdByAdID) == 2 assert fdByAdID[impressionSchema.IMPRESSION_ID].count()[0] == 2 assert fdByAdID[impressionSchema.IMPRESSION_ID].count()[1] == 1
def calculate_entropy_and_l1_distance(self): set_count = 4 column_count_per_set = 6 for i in range(set_count): if i != 3: for j in range(column_count_per_set // 2): column_index = i * column_count_per_set + 2 * j # print(column_index) firing_rate_0 = np.array(self._firing_rate_data.values[:, column_index][2:]).astype(np.float) firing_rate_1 = np.array(self._firing_rate_data.values[:, column_index + 1][2:]).astype(np.float) relative_entropy_ij = Utility.get_relative_entropy(firing_rate_0, firing_rate_1) self._relative_entropy_data.append(relative_entropy_ij) l1_distance_ij = Utility.get_l1_distance(firing_rate_0, firing_rate_1) self._l1_distance_data.append(l1_distance_ij) relative_entropy_ji = Utility.get_relative_entropy(firing_rate_1, firing_rate_0) self._relative_entropy_data.append(relative_entropy_ji) l1_distance_ji = Utility.get_l1_distance(firing_rate_1, firing_rate_0) self._l1_distance_data.append(l1_distance_ji) else: for j in range(3): column_index = i * column_count_per_set + 2 * j firing_rate_0 = np.array(self._firing_rate_data.values[:, column_index][2:]).astype(np.float) firing_rate_1 = np.array(self._firing_rate_data.values[:, column_index + 2][2:]).astype(np.float) relative_entropy_ij_1 = Utility.get_relative_entropy(firing_rate_0, firing_rate_1) l1_distance_ij_1 = Utility.get_l1_distance(firing_rate_0, firing_rate_1) relative_entropy_ji_1 = Utility.get_relative_entropy(firing_rate_1, firing_rate_0) l1_distance_ji_1 = Utility.get_l1_distance(firing_rate_1, firing_rate_0) firing_rate_0 = np.array(self._firing_rate_data.values[:, column_index][2:]).astype(np.float) firing_rate_1 = np.array(self._firing_rate_data.values[:, column_index + 3][2:]).astype(np.float) relative_entropy_ij_2 = Utility.get_relative_entropy(firing_rate_0, firing_rate_1) l1_distance_ij_2 = Utility.get_l1_distance(firing_rate_0, firing_rate_1) relative_entropy_ji_2 = Utility.get_relative_entropy(firing_rate_1, firing_rate_0) l1_distance_ji_2 = Utility.get_l1_distance(firing_rate_1, firing_rate_0) firing_rate_0 = np.array(self._firing_rate_data.values[:, column_index + 1][2:]).astype(np.float) firing_rate_1 = np.array(self._firing_rate_data.values[:, column_index + 2][2:]).astype(np.float) relative_entropy_ij_3 = Utility.get_relative_entropy(firing_rate_0, firing_rate_1) l1_distance_ij_3 = Utility.get_l1_distance(firing_rate_0, firing_rate_1) relative_entropy_ji_3 = Utility.get_relative_entropy(firing_rate_1, firing_rate_0) l1_distance_ji_3 = Utility.get_l1_distance(firing_rate_1, firing_rate_0) firing_rate_0 = np.array(self._firing_rate_data.values[:, column_index + 1][2:]).astype(np.float) firing_rate_1 = np.array(self._firing_rate_data.values[:, column_index + 3][2:]).astype(np.float) relative_entropy_ij_4 = Utility.get_relative_entropy(firing_rate_0, firing_rate_1) l1_distance_ij_4 = Utility.get_l1_distance(firing_rate_0, firing_rate_1) relative_entropy_ji_4 = Utility.get_relative_entropy(firing_rate_1, firing_rate_0) l1_distance_ji_4 = Utility.get_l1_distance(firing_rate_1, firing_rate_0) relative_entropy_ij = np.mean([relative_entropy_ij_1, relative_entropy_ij_2, relative_entropy_ij_3, relative_entropy_ij_4]) l1_distance_ij = np.mean([l1_distance_ij_1, l1_distance_ij_2, l1_distance_ij_3, l1_distance_ij_4]) self._relative_entropy_data.append(relative_entropy_ij) self._l1_distance_data.append(l1_distance_ij) relative_entropy_ji = np.mean([relative_entropy_ji_1, relative_entropy_ji_2, relative_entropy_ji_3, relative_entropy_ji_4]) l1_distance_ji = np.mean([l1_distance_ji_1, l1_distance_ji_2, l1_distance_ji_3, l1_distance_ji_4]) self._relative_entropy_data.append(relative_entropy_ji) self._l1_distance_data.append(l1_distance_ji) print('Size of relative entropy list :: ' + str(len(self._relative_entropy_data))) # print(self._relative_entropy_data) print('Size of L1 distance list :: ' + str(len(self._l1_distance_data))) # print(self._l1_distance_data) return self._relative_entropy_data, self._l1_distance_data
def __init__(self, config): self.config = config self.allFiles = Utility.getFilesFromDirectory( config[Constant.INCLUDE_DIRECTORY_KEY], config[Constant.FILTER_LIST_KEY]) self.fileNames = sorted([f.name for f in self.allFiles])
def copyAssets(self): Utility.copyAssets(self.config[Constant.OUTPUT_DIRECTORY_KEY] + "/public")
def __init__(self): self.special = False # флаг для специальных ивентов (пока что один) self.random_drinks = { # словарь напитков в баре формата "название: (реплика, алко)", где алко - степень опьянения от напитка 'спирт': (f', порция чистого спирта {Utility.emote("Pepega")} \nНадеюсь ты не помрёшь {Utility.emote("LULW")}', 50), 'водка': (f', Ваша водка {Utility.emote("PepeHappy")}', 20), 'виски': (f', Ваш виски {Utility.emote("PepeHappy")} {Utility.emote("tumbler_glass")}', 20), 'ром': (f', Ваш ром {Utility.emote("PepeHappy")} {Utility.emote("tumbler_glass")}', 20), 'коньяк': (f', Ваш коньячок {Utility.emote("PepeHappy")} {Utility.emote("tumbler_glass")}', 20), 'виски кола': (f', Ваш коктейль "Виски кола" {Utility.emote("PepeHappy")}', 16), 'ром кола': (f', Ваш коктейль "Ром кола" {Utility.emote("PepeHappy")}', 16), 'джин тоник': (f', Ваш коктейль "Джин тоник" {Utility.emote("PepeHappy")}', 14), 'водка с redbull': (f', Ваш коктейль "Водка с Redbull" {Utility.emote("PepeHappy")}', 16), 'кровавая мэри': (f', Ваш коктейль "Кровавая Мэри" {Utility.emote("PepeHappy")}', 13), 'секс на пляже': (f', Ваш коктейль "Секс на пляже" {Utility.emote("PepeHappy")}', 13), 'текила санрайз': (f', Ваш коктейль "Текила Санрайз" {Utility.emote("PepeHappy")}', 15), 'пина колада': (f', Ваш коктейль "Пина Колада" {Utility.emote("PepeHappy")}', 13), 'белый русский': (f', Ваш коктейль "Белый русский" {Utility.emote("PepeHappy")}', 15), 'дайкири': (f', Ваш коктейль "Дайкири" {Utility.emote("PepeHappy")}', 14), 'космополитен': (f', Ваш коктейль "Космополитен" {Utility.emote("PepeHappy")}', 14), 'егерь-энерджи': (f', Ваш коктейль "Егерь-энерджи" {Utility.emote("PepeHappy")}', 16), 'лонг айленд': (f', Ваш коктейль "Лонг Айленд" {Utility.emote("PepeHappy")}', 14), 'мохито': (f', Ваш коктейль "Мохито" {Utility.emote("PepeHappy")}', 15), 'портвейн': (f', Ваш Портвейн 777 {Utility.emote("PepeHappy")} {Utility.emote("tumbler_glass")}', 7), 'красное вино': (f', Ваш бокал красного винишка {Utility.emote("PepeHappy")} {Utility.emote("wine_glass")}', 6), 'белое вино': (f', Ваш бокал белого винишка {Utility.emote("PepeHappy")}', 6), 'розовое вино': (f', Ваш бокал розового чилийского винишка {Utility.emote("PepeHappy")}', 6), 'шампанское': (f', Ваш шампусик {Utility.emote("PepeHappy")} {Utility.emote("champagne_glass")}', 5), 'сидр': (f', Ваш сидр {Utility.emote("PepeHappy")}', 5), 'пиво': (f', Ваш пивасик {Utility.emote("PepeHappy")} {Utility.emote("beer")}', 5), 'водичка': (f', Ваша водичка {Utility.emote("cup_with_straw")} На сегодня хватит {Utility.emote("monkaSpolice")}', -10), 'квас': (f', Ваш холодный квас {Utility.emote("MHM")}', 1), 'мадера': (f', Ваше португальское крепленое вино мадера c кусочком кекса в прикуску! {Utility.emote("pepeOK")}', 10), 'херес': (f', Ваш испанский херес! Почувствуйте эти сладкие нотки винограда', 10), 'саке': (f', Ваш японский саке! Никогда не думал, что забродивший рис такой вкусный {Utility.emote("PepeHappy")}', 8), 'абсент': (f', Ваш крепчайший абсент! Решил напиться в стельку - абсент - твой кандидат! {Utility.emote("wlgDeer")}', 40), 'аквавит': (f', Ваш картофельный аквавит! Норвежская "Вода жизни" из картофеля {Utility.emote("PepoFlex")}', 17), 'граппа': (f', Ваша итальянская граппа! Дешево и со вкусом', 20), 'итальянская жена': (f', Ваша итальянска жена приехала! Надеюсь, вы ей не изменяли с другими напитками', 13), 'кловер клаб': (f', Ваш кловер клаб! Джин, малина, лайм и белок перепелиного яйца... Стоп, а яйцо точно должно быть? {Utility.emote("3Head")}', 13), 'апероль шприц': (f', Ваш апероль шприц! Самый популярный коктейль Средиземного моря теперь в ваших руках {Utility.emote("tropical_drink")}', 10), 'молочный удар': (f', Ваш молочный удар! Вы думали, это молоко? Нет, это оно - виски', 22), 'ву-ву': (f', Ваш ву-ву! Главное, чтобы потом не было бо-бо', 17), 'баунти мартини': (f', Ваш баунти мартини! По сути, клубнично-кокосовый милкшейк, вкусно и легко', 9), 'греческая смоковница': (f', Ваша смоковница с инжиром! Выпиваешь шот, затем закусываешь инжиром - ничего сложного!', 19), 'россини': (f', Ваш россини! Легкий коктейль из клубничной пюрешки и просекко {Utility.emote("strawberry")}', 12) } self.drinks = { 'хугарден': (f', Ваш тёплый Хугарден {Utility.emote("pepeClown")}', 5), 'вода': (f', Ваша вода {Utility.emote("cup_with_straw")}', -10), 'энергетик': (f', Ваш энергетик! {Utility.emote("PepeKMS")} \nНе спать! {Utility.emote("pepeRage")}', 0) } self.coffee = { 'американо': (f', Ваш американо {Utility.emote("coffee")}', 0), 'капучино': (f', Ваш капучино {Utility.emote("coffee")}', 0), 'латте': (f', Ваш латте {Utility.emote("coffee")}', 0), 'арахисовый латте': (f', Ваш арахисовый латте {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'моккачино': (f', Ваш моккачино {Utility.emote("coffee")}', 0), 'флет уайт': (f', Ваш флет уайт {Utility.emote("coffee")}', 0), 'маккиато': (f', Ваш маккиато {Utility.emote("coffee")}', 0), 'дынный раф': (f', Ваш дынный раф {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'цитрусовый раф': (f', Ваш цитрусовый раф {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'шоколадный раф': (f', Ваш шоколадный раф {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'ежевичный раф': (f', Ваш ежевичный раф {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'грушевый раф': (f', Ваш грушевый раф {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'карамель маккиато': (f', Ваш сладенький карамель маккиато {Utility.emote("PepeHappy")}', 0), 'просто кофе': (f', Ваш самый обчыный кофе {Utility.emote("4Head")}', 0), 'эспрессо': (f', Ваше экспрессо {Utility.emote("3Head")}', 0), 'колд брю': (f', Ваш прохладительный колд брю {Utility.emote("ice_cube")}', 0), 'карамельный фраппучино': (f', Ваш карамельный фраппучино со взбитыми сливками {Utility.emote("PepeHappy")}', 0), 'эспрессо фраппучино': (f', Ваш эспрессо фраппучино: молоко с молотым льдом и шотом эспрессо {Utility.emote("MHM")}', 0), 'мокка фраппучино': (f', Ваш мокка фраппучино {Utility.emote("coffee")}', 0), 'ванильный фраппучино': (f', Ваш ванильный фраппучино {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'шоколадный фраппучино': (f', Ваш сладенький шоколадный фраппучино {Utility.emote("PepeHappy")} {Utility.emote("coffee")}', 0), 'руссиано': (f', Ваш патриотический руссиано {Utility.emote("4Head")}', 0) } self.tea = { 'чёрный чай': (f', Ваш чёрный чай {Utility.emote("tea")}', 0), 'розовый чай': (f', Ваш розовый чай {Utility.emote("PepeHappy")} {Utility.emote("tea")}', 0), 'зелёный чай': (f', Ваш зелёный чай {Utility.emote("tea")}', 0), 'белый чай': (f', Ваш белый чай {Utility.emote("PepeHappy")} {Utility.emote("tea")}', 0), 'пуэр': (f', Ваш пуэр {Utility.emote("tea")}', 0), 'дарджилинг': (f', Ваш дар... даржилинх {Utility.emote("3Head")}', 0), 'красный чай': (f', Ваш красный чай {Utility.emote("tea")}', 0), 'мате': (f', Ваш мате {Utility.emote("mate")}', 0) } self.compliments = [ # список комплиментов бармена в формате "(реплика для парней, реплика для девушек)" (f', Вы такой красивый сегодня! {Utility.emote("pepehype")}', f', Вы такая красивая сегодня! {Utility.emote("peepoPANTIES")}'), (f', выглядишь потрясающе! {Utility.emote("gaygasm")}', f', выглядишь потрясающе! {Utility.emote("PepeHappy")}'), (f', отличный прикид! {Utility.emote("pepeOK")}', f', какие у тебя красивые... глаза! {Utility.emote("monkaS")}'), (f', Вам привет от обаятельной девушки за дальним столиком {Utility.emote("pepehype")}', f', Вам привет от обаятельного парня за дальним столиком {Utility.emote("pepehype")}' ) ] self.thanks_replies = [ # список ответов на благодарности f', не за что! {Utility.emote("pepeOK")}', f', всегда пожалуйста! {Utility.emote("pepeOK")}', f', обращайся! {Utility.emote("PepeHappy")}', f', рад помочь! {Utility.emote("pepehype")}', f', обращайся, всегда рад помочь! {Utility.emote("PepeHappy")}', f', не стоит благодарности! {Utility.emote("pepeOK")}', f', Вам спасибо! {Utility.emote("PepeHappy")}', f', без проблем! {Utility.emote("Pepechill")}', f', рад быть полезным! {Utility.emote("pepehype")}', f', любой каприз за Ваши деньги {Utility.emote("pepeDavidStar")}', f', всегда рад стараться! {Utility.emote("pepeOK")}', f', это просто моя работа {Utility.emote("MHM")}', f', пожалуйста, конечно, но вы кто? {Utility.emote("Bored")}' ] self.rage_replies = [ # список действий, которые может сделать игрок, когда буянит ' берет стакан и кидает его в случайного посетителя. Он летит в {}.', ' разбрасывает окурки из пепельницы. Окурок попадает на одежду {}', ' затевает драку с {} и побеждает', ' затевает драку с {} и проигрывает', ' выплескивает ближайший напиток в {}', ' плюет {} в лицо', ' отнимает {} у {} и выпивает этот напиток залпом.', ' берет бутылку в руки и делает из неё розочку. {} в опасности', ' начинает громко орать на {}', ' начинает спорить с {}', ' спихивает со стула {}', ' обзывает {} 1Head-ом ' + Utility.emote("1Head"), ' танцует на столе с {}', ' показывает средний палец {}', ' называет {} уродом ' + Utility.emote("YROD") ] self.rage_throw_glass = [ 'Стакан попадает в голову. Несите повязку и анальгин!', 'Стакан попадает в руку. Держать напитки становится труднее.', 'Стакан попадает в живот. Пивное пузо {} все защитило.', 'Стакан попадает в ногу. Пора делать деревянную ногу и пить грог.', 'Стакан попадает в сосочек. {} {}' ]