Example #1
0
 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
Example #5
0
    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)
Example #6
0
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]}'
Example #7
0
def TestConvertJavascriptTimestampToDatetime():
    a = u.convertIsoTimestampToDatetime('2015-06-20T19:25:47.487Z')
    b = datetime(2015, 6, 20, 19, 25, 47, 487000)
    assert a == b
Example #8
0
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
Example #9
0
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:
Example #10
0
                                        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
Example #13
0
 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])
Example #14
0
 def copyAssets(self):
     Utility.copyAssets(self.config[Constant.OUTPUT_DIRECTORY_KEY] +
                        "/public")
Example #15
0
    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 = [
            'Стакан попадает в голову. Несите повязку и анальгин!',
            'Стакан попадает в руку. Держать напитки становится труднее.',
            'Стакан попадает в живот. Пивное пузо {} все защитило.',
            'Стакан попадает в ногу. Пора делать деревянную ногу и пить грог.',
            'Стакан попадает в сосочек. {} {}'
        ]