Как я могу отправить сообщение о несогласии, вложенное в класс? - PullRequest
0 голосов
/ 31 октября 2019

Я создаю бот Discord, который анализирует XML-файл (в данном случае данные о выборах) и находит встроенное в него сообщение «chyron». Затем он должен отправить этот «хирон» в указанный текстовый канал на сервере, на котором он находится. Однако, независимо от того, что я делаю, я не могу получить сообщение для отправки. Есть ли какой-нибудь код, который я могу поместить в место, где указывается комментарий, который должен отправлять сообщение?

Я пытался использовать стандартный синтаксис @ client.event для определения событий, хотя я не думаю, что это сработало бы. в любом случае, так как бот должен отправить сообщение без запроса команды в текстовом канале.

class ExampleHandler(FileSystemEventHandler): #part of watchdog which monitors for changes in files directories
    def on_created(self, event): #when a file is created
        directory = os.fsencode("TestingDump")
        for file in os.listdir(directory): #for every new file in specified directory
            print("Got event for file %s" % event.src_path) #debugging purposes
            filename = os.fsdecode(file)
            if fnmatch.fnmatch(filename, "Test_Snap_General_Election_rush_*.xml"): 
                tree = ET.parse(os.fsdecode(directory) + '\\' + filename) #XML parser
                root = tree.getroot() #XML parser
                for Constit in root.iter("Constituency"): #XML parser
                    ConstitChyron = Constit.get("paStyleMessageText") #obtains ConstitChyron from XML file
                    print(ConstitChyron) #debugging purposes
                    #bot sends value of ConstitChyron as message to specific text channel in Discord here 

Когда для попытки отправки сообщения используется код

async def discordChyron():
    channel = client.fetch_channel(639480128627539978)
    await channel.send(ConstitChyron)

(используется там, где указывается комментарий в основном коде), программа ничего не делает. Через 5 секунд в оболочке python начинает появляться предупреждение о разрывах пульса.

...