Пишу скрипт который должен реагировать на новые посты в определенном канале и оставлять под ними комментарий от имени пользователя. Для удобавства решил сделать хранение айдишника канала и чата в текстовых документах, но при их использовании получаю ошибку. Хотя когда вместо переменных стоят значения в цифровом формате то все работает. В чем может быть проблема? Возможно я неправильно пытаюсь прочесть txt файл, помогите пожалуйста
from telethon import TelegramClient, events, utils
from telethon.sync import TelegramClient
from telethon.sessions import StringSession
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
import asyncio
from loguru import logger
import random
from random import randint
from config import API_ID
from config import API_HASH
from config import phone
#пробуем законектиться в аккаунт исходя из конфиг данных
try:
client = TelegramClient(phone, API_ID, API_HASH)
except KeyError:
os.system('clear')
print("[!] config.py не настроен!!!!!\n")
sys.exit(1)
client.connect()
if not client.is_user_authorized():
try:
client.send_code_request(phone)
client.sign_in(phone, input('[+] Enter the code: '))
except:
print("Похоже слишком много раз отправлен запрос")
with open("msg_text.txt", encoding='utf-8') as inp:
lines = inp.readlines()
file1 = open("testchatid.txt", "r")
# считываем все строки
lines = file1.readlines()
# итерация по строкам
for line in lines:
print(line.strip())
global truechatid
truechatid = line.strip()
file2 = open("testchanid.txt", "r")
# считываем все строки
lines = file2.readlines()
# итерация по строкам
for line in lines:
print(line.strip())
global truechanid
truechanid = line.strip()
#функция которая принимает все новые сообщения из переменной
@client.on(events.NewMessage(chats = truechatid))
async def handler(event):
random_line = random.choice(lines).strip() #Берем строку обрезаем её и рандомим
if event.sender_id == truechanid: #Если айди отправителя ровняеться указаному
await client.send_message(entity=truechatid, message=random_line, reply_to=event.message.id) #Отправляем сообщение в ответ на пост
logger.success(f'| Проккоментровал пост {event.chat.id}') #Выводим инфу в консоль
else:
logger.error(f'| В чате появилось новое сообщение')
client.run_until_disconnected()