'How to Scrape Discord members using Python?

I am trying to scrape members of a Discord server.

This is code I am using. But I am running into KeyError: 'guilds'.

Can anyone please help me with this?

import discum

bot = discum.Client(token="my_token")

def close_after_fetching(resp, guild_id):
    if bot.gateway.finishedMemberFetching(guild_id):
        lenmembersfetched = len(bot.gateway.session.guild(guild_id).members)
        print(str(lenmembersfetched) + ' members fetched')
        bot.gateway.removeCommand({'function': close_after_fetching, 'params': {'guild_id': guild_id}})
        bot.gateway.close()
        
def get_members(guild_id, channel_id):
    bot.gateway.session.guild(guild_id)
    bot.gateway.fetchMembers(guild_id, channel_id, keep='all', wait=1)
    bot.gateway.command({'function': close_after_fetching, 'params': {'guild_id': guild_id}})
    bot.gateway.run()
    bot.gateway.resetSession()
    return bot.gateway.session.guild(guild_id).members

members = get_members('guild_id', 'channel_id')

memberslist = []

for memberID in members:
    memberslist.append(memberID)
    print(memberID)
    
f = open('users.txt', "a")
for element in memberslist:
    f.write(element + '\n')
f.close()
    

Error message:

~\AppData\Roaming\Python\Python37\site-packages\discum\gateway\session.py in memberCount(self)
    374         @property
    375         def memberCount(self):
--> 376                 return Session.settings_ready['guilds'][self.guildID]['member_count']
    377 
    378         @property

KeyError: 'guilds'


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source