У меня запущенна функция в отдельном потоке:
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, я не смогу запустить её в отдельном потоке.
Как быть?
Спасибо ОГРОМНОЕ заранее)