-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemberscraper.py
19 lines (18 loc) · 1.05 KB
/
memberscraper.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import time
start = time.time()
import discum
class MemberScrapper:
def __init__(self, token):
self.bot = discum.Client(token=token)
def close_after_fetching(self, resp, guild_id):
if self.bot.gateway.finishedMemberFetching(guild_id):
lenmembersfetched = len(self.bot.gateway.session.guild(guild_id).members) #this line is optional
print(str(lenmembersfetched)+' members fetched') #this line is optional
self.bot.gateway.removeCommand({'function': self.close_after_fetching, 'params': {'guild_id': guild_id}})
self.bot.gateway.close()
def get_members(self, guild_id, channel_id):
self.bot.gateway.fetchMembers(guild_id, channel_id, keep="all", wait=1) #get all user attributes, wait 1 second between requests
self.bot.gateway.command({'function': self.close_after_fetching, 'params': {'guild_id': guild_id}})
self.bot.gateway.run()
self.bot.gateway.resetSession() #saves 10 seconds when gateway is run again
return self.bot.gateway.session.guild(guild_id).members