def _generate_member_embed(self): """Analyzes the subject as a member.""" self.embed = self.ctx.bot.generate_embed( '📈', f'Przygotowano raport o użytkowniku {self.subject}', self.description ) self.embed.add_field( name='Utworzył konto', value=human_datetime(self.subject.created_at, utc=True), inline=False ) self.embed.add_field( name='Ostatnio dołączył do serwera', value=human_datetime(self.subject.joined_at, utc=True), inline=False ) self._embed_personal_stats()
def test_singular_day_in_n_days(self): for n in range(3, 8): with self.subTest(n=n): returned_time_difference = human_datetime( NOW_OVERRIDE + dt.timedelta(n), utc=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'{24 + n} grudnia 2013 o 12:00, za {n:n} dni' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_day_n_days_ago(self): for n in range(3, 8): with self.subTest(n=n): returned_time_difference = human_datetime( NOW_OVERRIDE - dt.timedelta(n), naive=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'{24 - n} grudnia 2013 o 12:00, {n:n} dni temu' self.assertEqual(returned_time_difference, expected_time_difference)
def _generate_category_embed(self): """Analyzes the subject as a category.""" self.embed = self.ctx.bot.generate_embed( '📈', f'Przygotowano raport o kategorii {self.subject}', self.description ) self.embed.add_field(name='Utworzono', value=human_datetime(self.subject.created_at, utc=True), inline=False) if self.total_message_count: earliest = self.earliest_relevant_message self.embed.add_field( name=f'Wysłano pierwszą wiadomość {"w przedziale czasowym" if self.last_days else ""}', value=md_link( human_datetime(earliest.datetime), f'https://discordapp.com/channels/{earliest.server_id}/{earliest.channel_id}/{earliest.id}' ), inline=False ) self.embed.add_field(name='Kanałów tekstowych', value=f'{len(self.subject.text_channels):n}') self.embed.add_field(name='Kanałów głosowych', value=f'{len(self.subject.voice_channels):n}') self._embed_general_message_stats() self._embed_top_visible_channel_stats() self._embed_top_active_user_stats()
def _embed_personal_stats(self): if self.total_message_count: earliest = self.earliest_relevant_message latest = self.latest_relevant_message self.embed.add_field( name=f'Wysłał pierwszą wiadomość na serwerze {"w przedziale czasowym" if self.last_days else ""}', value=md_link( human_datetime(earliest.datetime), f'https://discordapp.com/channels/{earliest.server_id}/{earliest.channel_id}/{earliest.id}' ), inline=False ) if self.ctx.author != self.subject: self.embed.add_field( name='Wysłał ostatnią wiadomość na serwerze', value=md_link( human_datetime(latest.datetime), f'https://discordapp.com/channels/{latest.server_id}/{latest.channel_id}/{latest.id}' ), inline=False ) self._embed_general_message_stats() self._embed_top_visible_channel_stats()
def test_singular_day_after_tomorrow(self): returned_time_difference = human_datetime(NOW_OVERRIDE + dt.timedelta(2), utc=False, now_override=NOW_OVERRIDE) expected_time_difference = f'26 grudnia 2013 o 12:00, pojutrze' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_tomorrow_less_than_24_hours_later(self): returned_time_difference = human_datetime( NOW_OVERRIDE + dt.timedelta(hours=16), utc=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'25 grudnia 2013 o 4:00, jutro' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_today_no_days_difference(self): returned_time_difference = human_datetime( NOW_OVERRIDE, utc=False, days_difference=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'24 grudnia 2013 o 12:00' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_today_no_name_month(self): returned_time_difference = human_datetime(NOW_OVERRIDE, utc=False, name_month=False, now_override=NOW_OVERRIDE) expected_time_difference = f'24.12.2013 o 12:00, dzisiaj' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_yesterday(self): returned_time_difference = human_datetime(NOW_OVERRIDE - dt.timedelta(1), utc=False, now_override=NOW_OVERRIDE) expected_time_difference = f'23 grudnia 2013 o 12:00, wczoraj' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_tomorrow(self): returned_time_difference = human_datetime( NOW_OVERRIDE + dt.timedelta(1), naive=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'25 grudnia 2013 o 12:00, jutro' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_today_no_time(self): returned_time_difference = human_datetime( NOW_OVERRIDE, naive=False, time=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'24 grudnia 2013, dzisiaj' self.assertEqual(returned_time_difference, expected_time_difference)
def test_singular_day_before_yesterday(self): returned_time_difference = human_datetime( NOW_OVERRIDE - dt.timedelta(2), naive=False, now_override=NOW_OVERRIDE ) expected_time_difference = f'22 grudnia 2013 o 12:00, przedwczoraj' self.assertEqual(returned_time_difference, expected_time_difference)