Телеграмм бот, ошибка: 'TeleBot' object has no attribute 'get_chat_id'

Рейтинг: 1Ответов: 0Опубликовано: 21.03.2023

Я хочу написать простейший ТГ-бот, который может считать количество репостов у тг-канала за указанный период, использую такой код:

import telebot
from telebot import types
import datetime
bot = telebot.TeleBot('токен')

@bot.message_handler(commands=['start'])
def start_command(message):
    bot.send_message(message.chat.id, "Введите ссылку на канал и даты начала и конца периода в формате: arg https://t.me/channel_name 01.01.22 31.12.22")

@bot.message_handler(commands=['arg'])
def get_reposts(message):
    try:
        
        args = message.text.split()
        channel_link = args[1]
        start_date = datetime.datetime.strptime(args[2], '%d.%m.%y').date()
        end_date = datetime.datetime.strptime(args[3], '%d.%m.%y').date()

        
        chat_id = bot.get_chat_id(channel_link)
        messages = bot.get_messages(chat_id)

        
        filtered_messages = [m for m in messages if start_date <= m.date.date() <= end_date]

        
        total_reposts = sum([m.forward_from_chat.reposts for m in filtered_messages])

        
        bot.send_message(message.chat.id, f"Количество репостов за период с {start_date} по {end_date}: {total_reposts}")

    except Exception as e:
        bot.send_message(message.chat.id, f"Ошибка: {e}")

bot.polling()

Однако бот, при попытке задать ему нужные аргументы, выдает такую ошибку:

Ошибка: 'TeleBot' object has no attribute 'get_chat_id'

К сожалению, не могу разобраться. Спасибо.

Ответы

Ответов пока нет.