Добавление пользователя в группу Телеграм бот 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)))
Или менять формат номера в самом файле.