@uyrsr

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

Бот должен отсылать анектоды раз в час, а анектоды он берёт из txt файла. Вот что в txt файле: 601f189646a79651501908.jpeg
Вот что отсылает бот: ?4??4??4??4??4??4??1? ?4??4??4??4??1? 1 . Вот код:
import vk_api
import time
from vk_api import VkUpload
from vk_api.longpoll import VkLongPoll, VkEventType

global an1
global an2
global an3
global score 


vk_session = vk_api.VkApi(token = '')
longpoll = VkLongPoll(vk_session)
upload = VkUpload(vk_session)

def sender(id, text):
    vk_session.method('messages.send', {'chat_id' : id, 'message' : text, 'random_id' : 0,})

for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW:
        if event.to_me:
            if event.from_chat:
                msg = event.text.lower()
                id = event.chat_id
                if msg == 'привет':
                    while True: 
                        score = 0
                        score += 1
                        an1 = open('C:/матвей/Вкбот/anekdot1.txt', 'rb')
                        an2 = open('C:/матвей/Вкбот/anekdot2.txt', 'rb')
                        an3 = open('C:/матвей/Вкбот/anekdot3.txt', 'rb')
                        sender(id, an1)
                        time.sleep(30)
                        if score == 1:
                            sender(id, an2)
                            score += 1
                            time.sleep(30)
                            if score == 2: 
                                sender(id, an3)
                                time.sleep(30)

Без понятия, как исправить, помогите пожалуйста
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mrxor
Simple is better than complex
У вас sender ожидает в параметре text - строку которую надо отправить.
Вы вместо строки скармливаете ему file object.
Вам нужно после того как открыли файл - прочитать из него данные и потом скормить их в sender.
Как открыть файл и прочитать из него текст смотрите здесь и здесь
Ответ написан
Ваш ответ на вопрос

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

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