Моя идея - это класс, который обрабатывает все входящие и исходящие сообщения на дискорд сервере. Так что позже я могу использовать это в тандеме с другим каналом IRC-типа для их синхронизации.
Но сначала я хотел разработать этот класс, однако я не могу его ответить на сообщение. Я намерен использовать веб-хуки, поэтому я использую библиотеку перезаписи.
Вот так выглядит и используется мой класс, но я не могу заставить его увидеть сообщение о несогласии и просто набрать hello
в ответе на это сообщение.
class DiscordChat:
def __init__(self):
self.client = discord.Client()
self.WEBHOOK_ID = aNumber
self.WEBHOOK_TOKEN = "AWebHookToken"
self.DISCORD_BOT_TOKEN = "ABotToken"
self.__webhook = Webhook.partial(self.WEBHOOK_ID, self.WEBHOOK_TOKEN,adapter=RequestsWebhookAdapter())
def get_client(self):
return self.__client
def set_client(self,value):
self.__client = value
def send(self, message,username):
self.__webhook.send("Hello World from DiscordChat: " + message, username=username)
async def on_ready(self):
print('Logged in as')
print(self.client.user.name)
print(self.client.user.id)
print('------')
async def on_message(self,message):
print(message.content)
await message.channel.send('Hello! ' + message.author.name )
def run(self):
self.client.run(self.DISCORD_BOT_TOKEN)
client = property(get_client,set_client)
class TDCRBot:
def __init__(self):
print("initializin main program")
def run(self):
print("Running program!")
self.main()
def main(self):
print("hello from Main program!")
objDiscordChat = DiscordChat()
objDiscordChat.run()
objDiscordChat.send("Test Message for Discord Streaming text channel","TestUser Sil3ntDragon")
if __name__ == "__main__":
app = TDCRBot()
app.run()
Я знаю, что я делаю что-то не так, я просто не могу понять, что.
Например, я видел использование @client.event
во многих примерах, но когда я пытаюсь его использовать, я просто получаю сообщение об ошибке, говорящее, что client
не определено. Я догадывался, что это может быть проблемой, но это только оставит меня с еще большим вопросом, как я должен определить client
?