Форум сайта python.su
Здравствуйте. Написал простенького бота, который берет номер телефона из файла в эксель и добавляет его в группу.
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, str(phone_number))) 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)
phone_number_digits_only = ''.join(filter(str.isdigit, str(phone_number))) try: user = bot.get_chat_member(chat_id, phone_number_digits_only)
Офлайн
PronkytВот в этой строке на время введи номер напрямуюuser = bot.get_chat_member(chat_id, phone_number_digits_only)
user = bot.get_chat_member(chat_id, '89003186553')
PronkytНу это же бред. Ты почитай по номерам что-нибудь сначала. Там либо с плюсом семёрка должна быть - плюс как раз и говорит о том, что это международный код из международной таблицы кодов - либо там должна быть восьмёрка, которая является в России кодом выхода за пределы России или на федеральный уровень.
У меня в таблице российские номера в таком формате:
79270932254
Отредактировано py.user.next (Апрель 2, 2023 00:39:38)
Офлайн