Добавление пользователя в группу Телеграм бот Python

Пишу бота, который добавляет пользователей по номеру телефона из эксель-файла.

import telebot
import openpyxl

TOKEN = ' '
bot = telebot.TeleBot(TOKEN)

# Считываем данные из Excel-файла
wb = openpyxl.load_workbook('Заречный.xlsx')
sheet = wb.active

contacts = []
for row in sheet.iter_rows(min_row=2, values_only=True):
    phone_number = row[0]
    name = row[1]
    city = row[2]
    operator = row[3]
    region = row[4]
    contacts.append((phone_number, name, city, operator, region))

# Добавляем контакты в группу
chat_id = '-1001658022999' 
user_ids = []
for contact in contacts:
    phone_number = contact[0]
    name = contact[1]
    phone_number_digits_only = ''.join(filter(str.isdigit, '7' + str(phone_number)))

    if len(phone_number_digits_only) != 11:
        phone_number_digits_only = phone_number_digits_only
    try:
        user = bot.get_chat_member(chat_id, phone_number_digits_only)
        if user.status in ['member', 'administrator']:
            user_id = user.user.id
            user_ids.append(user_id)
    except telebot.apihelper.ApiException as e:
        print(f"Error adding member with phone number {phone_number_digits_only}: {e}")

if user_ids:
    bot.add_chat_members(chat_id, user_ids)

Получаю всегда одну и ту же ошибку: Error adding member with phone number 79003186552: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: user not found.

Скорее всего, проблема в номере. Номера российские, в эксель файле они в таком формате: '9003186552'. В этой строке кода я добавляю 11-ю цифру кода (+7). Думаю, что надо как-кто корректировать эту часть кода, но не знаю, как...

phone_number_digits_only = ''.join(filter(str.isdigit, '7' + str(phone_number)))

Или менять формат номера в самом файле.


Ответы (0 шт):