Что не так с моим кодом? Python версии 3.10.8 Вот весь код. [code]import logging import asyncio from telegram import Update, ParseMode from telegram.constants import ParseMode from telegram.ext import Application, CommandHandler, MessageHandler, ConversationHandler, CallbackQueryHandler, CallbackContext from telegram import InlineKeyboardButton, InlineKeyboardMarkup from telegram import ReplyKeyboardMarkup from telegram import KeyboardButton from telegram.ext import filters
# Вставьте сюда токен API вашего бота TOKEN = "YOUR_BOT_TOKEN"
# ID группы тех поддержки (обратите внимание на "-100" в начале) GROUP_ID = -100111111
# Состояния для ConversationHandler CHOOSING, DEPOSIT_PROBLEM, WITHDRAWAL_PROBLEM = range(3)
# Текст сообщений START_MESSAGE = "👋 Привет! Вы попали в бота тех поддержки Crypto. 🤝" START_MESSAGE_IMAGE = "https://www.example.com/image.jpg" WELCOME_MESSAGE = "Чем мы можем вам помочь?" DEPOSIT_PROBLEM_MESSAGE = "Опишите Вашу проблему с депозитом, мы постараемся быстрее дать вам ответ." WITHDRAWAL_PROBLEM_MESSAGE = "Опишите Вашу проблему с выводом, мы постараемся быстрее дать вам ответ." CONTACT_MANAGER_MESSAGE = "Спасибо за обращение, вам ответят в течение 3 минут." MANAGER_IN_CHAT_MESSAGE = "Менеджер в чате." REPLY_TO_MESSAGE = "Ответить на сообщение"
# Кнопки DEPOSIT_BUTTON = "Проблемы с депозитом" WITHDRAWAL_BUTTON = "Проблемы с выводом" CONTACT_MANAGER_BUTTON = "Связаться с менеджером"
# Клавиатура для начала диалога start_keyboard = [ [InlineKeyboardButton(DEPOSIT_BUTTON, callback_data=DEPOSIT_BUTTON)], [InlineKeyboardButton(WITHDRAWAL_BUTTON, callback_data=WITHDRAWAL_BUTTON)], [InlineKeyboardButton(CONTACT_MANAGER_BUTTON, callback_data=CONTACT_MANAGER_BUTTON)] ]
# Клавиатура для описания проблемы problem_keyboard = [ [InlineKeyboardButton(CONTACT_MANAGER_BUTTON, callback_data=CONTACT_MANAGER_BUTTON)] ]
# Функция для отправки сообщения в группу async def send_to_group(update: Update, context: CallbackContext): user_id = update.effective_user.id user_name = update.effective_user.first_name message_text = update.effective_message.text reply_markup = InlineKeyboardMarkup( [[InlineKeyboardButton(REPLY_TO_MESSAGE, callback_data=f"reply_{user_id}")]] ) await context.bot.send_message(chat_id=GROUP_ID, text=f"Сообщение от {user_name} (ID: {user_id})\n\n{message_text}", reply_markup=reply_markup)
# Функция для начала диалога async def start(update: Update, context: CallbackContext) -> int: await context.bot.send_photo( chat_id=update.effective_chat.id, photo=START_MESSAGE_IMAGE, caption=START_MESSAGE, parse_mode=ParseMode.MARKDOWN ) await context.bot.send_message(chat_id=update.effective_chat.id, text=WELCOME_MESSAGE, reply_markup=InlineKeyboardMarkup(start_keyboard)) return CHOOSING
# Функция для обработки кнопок async def handle_button_press(update: Update, context: CallbackContext) -> int: query = update.callback_query await query.answer()
if query.data == DEPOSIT_BUTTON: await query.edit_message_text(text=DEPOSIT_PROBLEM_MESSAGE, reply_markup=InlineKeyboardMarkup(problem_keyboard)) return DEPOSIT_PROBLEM elif query.data == WITHDRAWAL_BUTTON: await query.edit_message_text(text=WITHDRAWAL_PROBLEM_MESSAGE, reply_markup=InlineKeyboardMarkup(problem_keyboard)) return WITHDRAWAL_PROBLEM elif query.data == CONTACT_MANAGER_BUTTON: await query.edit_message_text(text=CONTACT_MANAGER_MESSAGE) await send_to_group(update, context) await context.bot.send_message(chat_id=update.effective_chat.id, text=MANAGER_IN_CHAT_MESSAGE) return ConversationHandler.END elif query.data.startswith("reply_"): user_id = int(query.data.split("_")[1]) await query.edit_message_text(text=f"Менеджер в чате. Вы можете начать переписку с пользователем {user_id}") return ConversationHandler.END
# Функция для обработки сообщений с описанием проблемы async def handle_problem_description(update: Update, context: CallbackContext) -> int: user_id = update.effective_user.id user_name = update.effective_user.first_name message_text = update.effective_message.text await send_to_group(update, context) await context.bot.send_message(chat_id=update.effective_chat.id, text=f"Спасибо, {user_name}! Мы передали ваш вопрос менеджерам.") return ConversationHandler.END
# Основная функция async def main() -> None: """Start the bot.""" application = Application.builder().token(TOKEN).build()
Что не так с моим кодом?
Python версии 3.10.8
Вот весь код.
import logging
import asyncio
from telegram import Update, ParseMode
from telegram.constants import ParseMode
from telegram.ext import Application, CommandHandler, MessageHandler,...
Обновление импорта из Telegram
Ошибка импорта: невозможно импортировать имя «Обновление» из «Telegram»
import requests
from bs4 import BeautifulSoup
from telegram import Update
Это ошибка, которую я получаю каждый раз, когда пытаюсь запустить бот.
(venv) C:\Users\Due Bighelloni\Desktop\bingo bot>python versolarmoniabingobot.py Traceback (most recent call last): File C:\Users\Due Bighelloni\Desktop\bingo...
Это ошибка, которую я получаю каждый раз, когда пытаюсь запустить бот.
(venv) C:\Users\Due Bighelloni\Desktop\bingo bot>python versolarmoniabingobot.py Traceback (most recent call last):
File C:\Users\Due Bighelloni\Desktop\bingo...