@NeoLight3

Как отсылать сообщения от бота в моей функции?

У меня запущенна функция в отдельном потоке:
nthread = threading.Thread(target=sendMsgsFromUnturned)
nthread.start()


И вот код функции sendMsgsFromUnturned:
def sendMsgsFromUnturned():
	channel = client.get_channel(755448398584479824)
	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	server_address = ('127.0.0.1', 6000)
	sock.bind(server_address)
	sock.listen(10)
	while True:
		connection, client_address = sock.accept()
		data = connection.recv(16)
		serial = data.decode('utf-8')
		datas = serial.split('|')
		playername = datas[0]
		date = '15/09/2020'
		msg = 'test'
		channel.send(playername)

В ней есть сокет, который прослушивается на порту 6000. И мне нужно чтобы при получении на этом сокете пакета, эта функции отсылала в нужный мне дискорд канал сообщение выведенное из сокета.

Проблема в том, что скорее всего функция channel.send(msg)
работает скорее всего только с await:
await channel.send(msg)
А тот в свою очередь требует чтобы я сделал async - функцию, однако если я сделаю функцию async, я не смогу запустить её в отдельном потоке.

Как быть?
Спасибо ОГРОМНОЕ заранее)
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
Viji
@Viji
Associate DevOps Engineer
А если боту писать в RabbitMQ и уже оттуда забирать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы