· 5 years ago · Feb 23, 2021, 07:16 PM
1#Importing the modules
2import requests
3import time
4import discord
5from discord.ext import commands
6import asyncio
7
8
9#Telling us what the bot prefix will be
10client = commands.Bot(command_prefix=">")
11
12
13#Telling us when the bot is running
14@client.event
15async def on_ready():
16 print ("Bot is running")
17
18
19#Making a list of the players
20igns=[
21all the uuids not gonna disclose them tho
22 ]
23
24
25#Setting our api key
26api_key="not for u to see ah ha"
27
28
29#Setting clear dictionaries
30data={}
31previouswins={}
32wins={}
33realname={}
34
35
36#Getting the data
37for name in igns:
38 data[name]=requests.get("https://api.hypixel.net/player?uuid="+name+"&key="+api_key).json()
39
40 realname[name]={"displayname":data[name]["player"]["displayname"]}
41
42
43#Making the loop to track the wins
44async def my_task(ctx):
45 while True:
46 for name in igns:
47 #Fetching the stats that we need
48 try:
49 previouswins[name]={"solo":data[name]["player"]["stats"]["Duels"]["bridge_duel_wins"]}
50 except:
51 previouswins[name]={"solo":0}
52
53 try:
54 previouswins[name]["doubles"]=data[name]["player"]["stats"]["Duels"]["bridge_doubles_wins"]
55 except:
56 previouswins[name]["doubles"]=0
57
58 try:
59 previouswins[name]["teams"]=data[name]["player"]["stats"]["Duels"]["bridge_four_wins"]
60 except:
61 previouswins[name]["teams"]=0
62
63 try:
64 previouswins[name]["2v2v2v2"]=data[name]["player"]["stats"]["Duels"]["bridge_2v2v2v2_wins"]
65 except:
66 previouswins[name]["2v2v2v2"]=0
67
68 try:
69 previouswins[name]["3v3v3v3"]=data[name]["player"]["stats"]["Duels"]["bridge_3v3v3v3_wins"]
70 except:
71 previouswins[name]["3v3v3v3"]=0
72
73 try:
74 previouswins[name]["solo_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_duel"]
75 except:
76 previouswins[name]["solo_ws"]=0
77
78 try:
79 previouswins[name]["doubles_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_doubles"]
80 except:
81 previouswins[name]["doubles_ws"]=0
82
83 try:
84 previouswins[name]["teams_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_four"]
85 except:
86 previouswins[name]["teams_ws"]=0
87
88 try:
89 previouswins[name]["2v2v2v2_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_2v2v2v2"]
90 except:
91 previouswins[name]["2v2v2v2_ws"]=0
92
93 try:
94 previouswins[name]["3v3v3v3_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_3v3v3v3"]
95 except:
96 previouswins[name]["3v3v3v3_ws"]=0
97
98 try:
99 previouswins[name]["overall_ws"]=data[name]["player"]["stats"]["Duels"]["current_bridge_winstreak"]
100 except:
101 previouswins[name]["overall_ws"]=0
102
103 previouswins[name]["lastlogin"]=data[name]["player"]["lastLogin"]
104
105 previouswins[name]["lastlogout"]=data[name]["player"]["lastLogout"]
106
107
108 data[name]=requests.get("https://api.hypixel.net/player?uuid="+name+"&key="+api_key).json()
109
110
111 try:
112 wins[name]={"solo":data[name]["player"]["stats"]["Duels"]["bridge_duel_wins"]}
113 except:
114 wins[name]={"solo":0}
115
116 try:
117 wins[name]["doubles"]=data[name]["player"]["stats"]["Duels"]["bridge_doubles_wins"]
118 except:
119 wins[name]["doubles"]=0
120
121 try:
122 wins[name]["teams"]=data[name]["player"]["stats"]["Duels"]["bridge_four_wins"]
123 except:
124 wins[name]["teams"]=0
125
126 try:
127 wins[name]["2v2v2v2"]=data[name]["player"]["stats"]["Duels"]["bridge_2v2v2v2_wins"]
128 except:
129 wins[name]["2v2v2v2"]=0
130
131 try:
132 wins[name]["3v3v3v3"]=data[name]["player"]["stats"]["Duels"]["bridge_3v3v3v3_wins"]
133 except:
134 wins[name]["3v3v3v3"]=0
135
136 try:
137 wins[name]["solo_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_duel"]
138 except:
139 wins[name]["solo_ws"]=0
140
141 try:
142 wins[name]["doubles_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_doubles"]
143 except:
144 wins[name]["doubles_ws"]=0
145
146 try:
147 wins[name]["teams_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_four"]
148 except:
149 wins[name]["teams_ws"]=0
150
151 try:
152 wins[name]["2v2v2v2_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_2v2v2v2"]
153 except:
154 wins[name]["2v2v2v2_ws"]=0
155
156 try:
157 wins[name]["3v3v3v3_ws"]=data[name]["player"]["stats"]["Duels"]["current_winstreak_mode_bridge_3v3v3v3"]
158 except:
159 wins[name]["3v3v3v3_ws"]=0
160
161 try:
162 wins[name]["overall_ws"]=data[name]["player"]["stats"]["Duels"]["current_bridge_winstreak"]
163 except:
164 wins[name]["overall_ws"]=0
165
166 wins[name]["lastlogin"]=data[name]["player"]["lastLogin"]
167
168 wins[name]["lastlogout"]=data[name]["player"]["lastLogout"]
169
170
171 #Setting our channel
172 channel_name = "813073683286327300"
173
174
175 #Making all of the embeds
176 #Making the login embed
177 loginembed=discord.Embed(title=f"The gamer `{realname[name]['displayname']}` logged on! Time to snipe >:)", color=0x028910)
178 loginembed.set_thumbnail(url="https://cdn.discordapp.com/attachments/813073683286327300/813840197530812526/logon2.png")
179 loginembed.set_footer(text="`• Made by Overcrow#0001`")
180
181
182 #Making the logout embed
183 logoutembed=discord.Embed(title=f"The gamer `{realname[name]['displayname']}` logged off! HE SCARED FR!!", color=0xe3242b)
184 logoutembed.set_thumbnail(url="https://cdn.discordapp.com/attachments/813073683286327300/813842652890005514/logout.png")
185 logoutembed.set_footer(text="• Made by Overcrow#0001")
186
187
188 #Making the winning a game embed in solos
189 winembed=discord.Embed(title=f"The gamer `{realname[name]['displayname']}` has won a game\n\n", color=0xFCE205)
190 winembed.set_thumbnail(url="https://cdn.discordapp.com/attachments/813073683286327300/813846351350857828/stonks.png")
191 winembed.add_field(name=f"`Current Solo Winstreak: {wins[name]['solo_ws']}\nCurrent Overall Winstreak: {wins[name]['overall_ws']}`")
192 winembed.set_footer(text="• Made by Overcrow#0001")
193
194
195 #Making the losing a game embed
196 loseembed=discord.Embed(title=f"The gamer `{realname[name]['displayname']}` just lost his winstreak! WHAT A CLOWN LMAO!!", color=0xe3242b)
197 loseembed.set_thumbnail(url="https://cdn.discordapp.com/attachments/813073683286327300/813848873164210206/L.png")
198 loseembed.add_field(name="`Current Winstreak: 0`")
199 loseembed.set_footer(text="• Made by Overcrow#0001")
200
201
202 #Telling us if they have won a game
203 if previouswins[name]["solo"]!=wins[name]["solo"]:
204 channel = client.get_channel(int(channel_name))
205 await channel.send(f"{realname[name]['displayname']} just won a game of solo bridge\n\nCurrent solo winstreak: {wins[name]['solo_ws']}\nCurrent overall winstreak: {wins[name]['overall_ws']}\n\n\n")
206
207 if previouswins[name]["doubles"]!=wins[name]["doubles"]:
208 channel = client.get_channel(int(channel_name))
209 await channel.send(f"{realname[name]['displayname']} just won a game of doubles bridge\n\nCurrent doubles winstreak: {wins[name]['doubles_ws']}\nCurrent overall winstreak: {wins[name]['overall_ws']}\n\n\n")
210
211 if previouswins[name]["teams"]!=wins[name]["teams"]:
212 channel = client.get_channel(int(channel_name))
213 await channel.send(f"{realname[name]['displayname']} just won a game of 4v4 bridge\n\nCurrent 4v4 winstreak: {wins[name]['teams_ws']}\nCurrent overall winstreak: {wins[name]['overall_ws']}\n\n\n")
214
215 if previouswins[name]["2v2v2v2"]!=wins[name]["2v2v2v2"]:
216 channel = client.get_channel(int(channel_name))
217 await channel.send(f"{realname[name]['displayname']} just won a game of 2v2v2v2 bridge\n\nCurrent 2v2v2v2 winstreak: {wins[name]['2v2v2v2_ws']}\nCurrent overall winstreak: {wins[name]['overall_ws']}\n\n\n")
218
219 if previouswins[name]["3v3v3v3"]!=wins[name]["3v3v3v3"]:
220 channel = client.get_channel(int(channel_name))
221 await channel.send(f"{realname[name]['displayname']} just won a game of 3v3v3v3 bridge\n\nCurrent 3v3v3v3 winstreak: {wins[name]['3v3v3v3_ws']}\nCurrent overall winstreak: {wins[name]['overall_ws']}\n\n\n")
222
223 if previouswins[name]["lastlogin"]<wins[name]["lastlogin"]:
224 channel = client.get_channel(int(channel_name))
225 await channel.send(embed=loginembed)
226
227 if previouswins[name]["lastlogout"]<wins[name]["lastlogout"]:
228 channel = client.get_channel(int(channel_name))
229 await channel.send(embed=logoutembed)
230
231
232 await asyncio.sleep(2)
233
234
235#Command to start the program
236@client.command()
237@commands.has_role("Overcrow")
238async def run(ctx):
239 client.loop.create_task(my_task(ctx))
240
241
242#The key to access the bot
243token = "UWU"
244
245
246#Running the bot
247client.run(token)