Решил вопрос так:
Для решения нужны библиотеки:
import asyncio
from prompt_toolkit import PromptSession
from prompt_toolkit.patch_stdout import patch_stdout
def recv():
    while True:
        data = sock.recv(1024)
        if data:
            print('\n' + data.decode('utf-8'))
async def sender():
    session = PromptSession()
    while True:
        try:
            with patch_stdout():
                message = await session.prompt_async('{}'.format(nickname) + ': ')
            string = nickname + ': ' + message
            sock.send(string.encode('utf-8'))
        except socket.error:
            pass
thread_reciev = threading.Thread(target=recv, name="reciev_message")
thread_reciev.start()
asyncio.get_event_loop().run_until_complete(sender())