V
V
Vlad2021-01-11 23:08:28
Python
Vlad, 2021-01-11 23:08:28

The bot file for discorda from .py to .exe (pyinstaller) does not compile. Gives errors. It works fine with vk and telegram. How to fix?

import cfg
import time
import discord
from discord import utils
from MIRA import MIRA

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged on as {0}!'.format(self.user))
        await client.change_presence(status=discord.Status.online, activity=discord.Game("fanTTools"))


    async def on_message(self, message):
        if int(message.channel.id) == 797463389965385759:
            if message.author.id != 793221581941243966:
                channel = self.get_channel(message.channel.id)
                data = MIRA().select_command(1, message.content)
                if data != None:
                    await channel.send(f'{data[0]}\n\n{message.author.mention}')
                    MIRA().output_logs('DISCORD', message.author, data[1], data[2])


    async def on_raw_reaction_add(self, payload):
        if payload.message_id == cfg.POST_ID:
            channel = self.get_channel(payload.channel_id) 
            message = await channel.fetch_message(payload.message_id)
            member = await (await client.fetch_guild(payload.guild_id)).fetch_member(payload.user_id)
 
            try:
                emoji = str(payload.emoji)
                role = utils.get(message.guild.roles, id=cfg.ROLES[emoji])
                
                if(len([i for i in member.roles if i.id not in cfg.EXCROLES]) <= cfg.MAX_ROLES_PER_USER):
                    await member.add_roles(role)
                    MIRA().output_logs('DISCORD', member.name, 'get role (' + role.name + ')', 1)
                    if role.id == 793225592572739594:
                        data = MIRA().select_command(1, '/commands')
                        if data != None:
                            channel = self.get_channel(797463389965385759)
                            await channel.send(f'{data[0]}\n\n{member.mention}')
                            MIRA().output_logs('DISCORD', member.display_name, data[1], data[2])
                else:
                    await message.remove_reaction(payload.emoji, member)
                    print('[ERROR] Too many roles for user {0.display_name}'.format(member))
            
            except KeyError as e:
                print('[ERROR] KeyError, no role found for ' + emoji)
            except Exception as e:
                print(repr(e))
 

    async def on_raw_reaction_remove(self, payload):
        channel = self.get_channel(payload.channel_id) 
        message = await channel.fetch_message(payload.message_id)
        member = await (await client.fetch_guild(payload.guild_id)).fetch_member(payload.user_id)
 
        try:
            emoji = str(payload.emoji) 
            role = utils.get(message.guild.roles, id=cfg.ROLES[emoji]) 
 
            await member.remove_roles(role)
            MIRA().output_logs('DISCORD', member.display_name, 'remove role ( ' + role.name + ' )', 1)
 
        except KeyError as e:
            print('[ERROR] KeyError, no role found for ' + emoji)
        except Exception as e:
            print(repr(e))

client = MyClient()
client.run(cfg.DISCORD_TOKEN)

Traceback (most recent call last):
File "", line 41, in
File "", line 13, in walk_packages
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\pkgutil.py" , line 130, in iter_modules
for name, ispkg in iter_importer_modules(i, prefix):
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\pkgutil.py", line 149, in _iter_file_finder_modules
import inspect
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\inspect.py", line 35, in
import dis
File "C:\Users\FANTSCRIN\Documents\PythonProjects\MIRA\dis\ dis.py", line 3, in
import discord
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\discord\__init__.py", line 25, in
from .client import Client
File "c:\users\fantscrin\ appdata\local\programs\python\python38\lib\site-packages\discord\client.py", line 33, in
import aiohttp
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\ site-packages\aiohttp\__init__.py", line 6, in
from .client import BaseConnector as BaseConnector
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\client .py", line 32, in
from . import hdrs, http, payload
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\http.py"
from .http_parser import HeadersParser as HeadersParser
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\http_parser.py", line 15, in
from .helpers import NO_EXTENSIONS, BaseTimerContext
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\helpers.py", line 107, in
def noop(*args, **kwargs): # type: ignore
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\asyncio\coroutines.py", line 114, in coroutine
if inspect.iscoroutinefunction(func):
AttributeError: partially initialized module 'inspect' has no attribute 'iscoroutinefunction'(most likely due to a circular import)

Traceback (most recent call last):
File "", line 41, in
File "", line 13, in walk_packages
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\pkgutil.py", line 130, in iter_modules
for name , ispkg in iter_importer_modules(i, prefix):
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\pkgutil.py", line 149, in _iter_file_finder_modules
import inspect
File "c:\users\ fantscrin\appdata\local\programs\python\python38\lib\inspect.py", line 35, in
import dis
File "C:\Users\FANTSCRIN\Documents\PythonProjects\MIRA\dis\dis.py", line 3, in
import discord
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\discord\__init__.py", line 25, in
from .client import Client
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\discord\client.py", line 33, in
import aiohttp
File "c:\users\ fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\__init__.py", line 6, in
from .client import BaseConnector as BaseConnector
File "c:\users\fantscrin\appdata\local\programs \python\python38\lib\site-packages\aiohttp\client.py", line 32, in
from . import hdrs, http, payload
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\http.py", line 7, in
from .http_parser import HeadersParser as HeadersParser
File "c:\users\fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\http_parser.py", line 15, in
from .helpers import NO_EXTENSIONS, BaseTimerContext
File "c:\users\ fantscrin\appdata\local\programs\python\python38\lib\site-packages\aiohttp\helpers.py", line 107, in
def noop(*args, **kwargs): # type: ignore
File "c:\users \fantscrin\appdata\local\programs\python\python38\lib\asyncio\coroutines.py", line 114, in coroutine
if inspect.iscoroutinefunction(func):
AttributeError: partially initialized module 'inspect' has no attribute 'iscoroutinefunction' ( most likely due to a circular import)

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question