я пытаюсь создать телеграм бота, но у меня не получается, и ошибку найти не могу, не реагирует после отправки 1 сообщения

from aiogram import Bot, Dispatcher, types
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters import Command
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, ReplyKeyboardRemove
from aiogram.contrib.fsm_storage.memory import MemoryStorage
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logging.getLogger("telegram").setLevel(logging.ERROR)
TOKEN = "мой токен"
ADMIN_CHAT_ID = '-4145205167'  # Замените на ID вашей группы администрации

bot = Bot(token=TOKEN)
dp = Dispatcher(bot, storage=MemoryStorage())  # Добавьте хранилище

subscribers = set()

class Form(StatesGroup):  # Определение класса состояния
    phone = State()
    name = State()

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    user_id = message.from_user.id
    await bot.send_message(chat_id=user_id, text="Добро пожаловать в кинотеатр 'Портал'! Пожалуйста, выберите один из вариантов ниже:")

def create_keyboard(user_id):
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    if user_id in subscribers:
        # Если пользователь подписан, показываем все кнопки
        button1 = KeyboardButton("Как вернуть билет?")
        button2 = KeyboardButton("Расписание сеансов")
        button3 = KeyboardButton("Купить билет онлайн")
        button4 = KeyboardButton("Не удается купить билет онлайн")
        button5 = KeyboardButton("Контактный номер и режим работы")
        button6 = KeyboardButton("Забронировать столик")

        keyboard.add(button1, button6)
        keyboard.add(button2, button3)
        keyboard.add(button4, button5)
    
    return keyboard


@dp.message_handler()
async def handle_text(message: types.Message):
    text = message.text
    user_id = message.from_user.id

    if text == "Забронировать столик":
        await bot.send_message(chat_id=user_id, text="Для бронирования столика, введите ваш номер телефона, пожалуйста.")
        await Form.phone.set()

@dp.message_handler(state=Form.phone)
async def save_phone(message: types.Message, state: FSMContext):
    user_id = message.from_user.id
    async with state.proxy() as data:
        data['phone'] = message.text
    await bot.send_message(chat_id=user_id, text="Теперь введите, как к вам обращаться.")
    await Form.name.set()

@dp.message_handler(state=Form.name)
async def save_name(message: types.Message, state: FSMContext):
    name = message.text
    async with state.proxy() as data:
        phone = data.get('phone')
    if phone:
        await bot.send_message(chat_id=ADMIN_CHAT_ID, text=f"Новое бронирование столика:\nИмя: {name}\nТелефон: {phone}")
        await bot.send_message(chat_id=message.chat.id,
                                   text="Спасибо за бронирование! Наша администрация свяжется с вами в ближайшее время.",
                                   reply_markup=ReplyKeyboardRemove())
        await state.finish()
    else:
        await bot.send_message(chat_id=message.chat.id, text="Извините, произошла ошибка. Пожалуйста, попробуйте еще раз.")
        await Form.phone.set()


if __name__ == '__main__':
    from aiogram import executor
    executor.start_polling(dp, skip_updates=True)```

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

Автор решения: Djo ny

Замени свой код:

user_id = message.from_user.id

На следующий:

chat_id = message.chat.id

Таким образом вы будете получать именно айди чата, а не пользователя

→ Ссылка