from telebot import formatting import fortnitepy import json # TODO rename 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=': ') 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 __formatFriend(friend): return friend.display_name def formatFriends(friends): friends_formatted = [__formatFriend(friend) for friend in friends] return formatting.format_text( formatting.mbold("Registered friends:"), "", '\n'.join(friends_formatted), separator='\n') def formatUser(user: fortnitepy.User, stats: fortnitepy.StatsV2): combined_stats = stats.get_combined_stats() if 'keyboardmouse' in combined_stats: return __formatUserDevice(user, combined_stats['keyboardmouse']) else: return __formatUserDevice(user, combined_stats['gamepad']) def __formatUserDevice(user: fortnitepy.User, device_stats: dict): return formatting.format_text( formatting.mbold("User: ") + user.display_name, formatting.mbold("ID: ") + user.id, formatting.mbold("Matches played: ") + __numToStrSafe(device_stats['matchesplayed']), formatting.mbold("Total kills: ") + __numToStrSafe(device_stats['kills']), formatting.mbold("Wins: ") + __numToStrSafe(device_stats['wins']), separator='\n') def __numToStrSafe(num): if num is not None: return str(num) else: return 'Not available'