1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
from telebot import formatting
import typing
from Types import *
# Status
def formatFortniteStatus(fortniteStatus):
statuses = [__formatFortniteServiceStatus(serviceStatus) for serviceStatus in fortniteStatus.serviceStatuses]
return formatting.format_text(
formatting.mbold("Fortnite status"),
"",
'\n'.join(statuses),
separator='\n')
def __formatStatus(status):
if (status == True):
return u'\u2705'
else:
return u'\u274c'
def __formatFortniteServiceStatus(fortniteServiceStatus):
return formatting.format_text(
formatting.mbold(fortniteServiceStatus.serviceName),
__formatStatus(fortniteServiceStatus.status),
separator=': ')
# User
def formatUsers(users: typing.List[User]):
users_formatted = [formatUser(user) for user in users]
return formatting.format_text(
'\n\n'.join(users_formatted),
separator='\n')
def formatUser(user: User):
return formatting.format_text(
formatting.mbold("User: ") + user.display_name,
formatting.mbold("ID: ") + user.id,
separator='\n')
# Stats
def formatUserStatsList(stats: typing.List[UserStats]):
stats_formatted = [__formatStats(singleStats) for singleStats in stats]
return formatting.format_text(
'\n\n'.join(stats_formatted),
separator='\n')
def formatUserStatsDifference(oldUserStats: typing.List[UserStats], newUserStats: typing.List[UserStats]):
stats_formatted = []
for stats in oldUserStats:
matched = [x for x in newUserStats if x.user_id == stats.user_id][0]
stats_formatted.append(__formatStatsDifference(stats, matched))
return formatting.format_text(
'\n\n'.join(stats_formatted),
separator='\n')
def __formatStatsDifference(oldUserStats: UserStats, newUserStats: UserStats):
return formatting.format_text(
formatting.mbold("User: ") + oldUserStats.user_display_name,
formatting.mbold("ID: ") + oldUserStats.user_id,
formatting.mbold("Level: ") + "{} \(\+ {}\)".format(str(oldUserStats.level), str(newUserStats.level - oldUserStats.level)),
formatting.mbold("Matches played: ") + "{} \(\+ {}\)".format(str(oldUserStats.matches_played), str(newUserStats.matches_played - oldUserStats.matches_played)),
formatting.mbold("Total kills: ") + "{} \(\+ {}\)".format(str(oldUserStats.kills), str(newUserStats.kills - oldUserStats.kills)),
formatting.mbold("Wins: ") + "{} \(\+ {}\)".format(str(oldUserStats.wins), str(newUserStats.wins - oldUserStats.wins)),
separator='\n')
def __formatStats(userStats: UserStats):
return formatting.format_text(
formatting.mbold("User: ") + userStats.user_display_name,
formatting.mbold("ID: ") + userStats.user_id,
formatting.mbold("Level: ") + str(userStats.level),
formatting.mbold("Matches played: ") + str(userStats.matches_played),
formatting.mbold("Total kills: ") + str(userStats.kills),
formatting.mbold("Wins: ") + str(userStats.wins),
separator='\n')
def formatFriendOnline(display_name: str, party_size: int):
if party_size == 1:
text = 'is playing Fortnite\!'
elif party_size == 2:
text = 'is playing Fortnite together with {} friend\!'.format(str(party_size - 1))
elif party_size > 2:
text = 'is playing Fortnite together with {} friends\!'.format(str(party_size - 1))
return formatting.format_text(
u'\u2b50',
formatting.mbold('{}'.format(display_name)),
text,
u'\u2b50',
separator=' ')
|