fa
Feedback
Python Telegram Bot

Python Telegram Bot

رفتن به کانال در Telegram

☑️ Заявки принимаются автоматически! Обучаем созданию и продвижению чат-ботов в телеграм. ссылка: @pybotg связь: @oksi_young https://telega.in/channels/+Mj_twnrYuAxkZmUy/card/?r=BrHKEWMo

نمایش بیشتر
5 003
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-67 روز
+1730 روز
آرشیو پست ها
Что выведет данный код
Anonymous voting

photo content

⚡️ BACKDOOR – лучший источник из мира Хакинга и IT. На канале вы можете найти: секретные фишки соцсетей, малоизвестные сервис
⚡️ BACKDOOR – лучший источник из мира Хакинга и IT. На канале вы можете найти: секретные фишки соцсетей, малоизвестные сервисы, гайды по безопасности и анонимности а так же лайфхаки на любые случаи жизни! Подписывайся, тебя ждёт много интересного: @IT_backdoor

☑️ Разработка бота на Python • Бюджет: 40 000 руб. за проект • Срок: по договоренности • Задача: Нужен бот для приема и публи
☑️ Разработка бота на Python • Бюджет: 40 000 руб. за проект • Срок: по договоренности • Задача: Нужен бот для приема и публикации в телеграм канал лотов. Нужна интеграция с экварингом, сдек БД MySQL Бот на Python Библиотека на PyTelegramBotAPI Необходимо закомментировать код Генерация ссылок на оплату для перехода из канала в бот по типу (t.me/bot_url?start=123556) где после = айди лота Откликнуться

Продолжение к посту выше Прописываем дальше хендлер отмены поста: await state.finish() await call.message.edit_reply_markup()
Продолжение к посту выше Прописываем дальше хендлер отмены поста: await state.finish() await call.message.edit_reply_markup() await call.message.answer("Вы отклонили пост"). На этом хендлер закончен. Приступаем к следующему: @dp.message_handler(state=NewPost.Confirm) async def _post_unknown(message: types.Message): await message.answer("Выберите опубликовать пост или отклонить пост"). Данный хендлер будет на случай, если пользователь затупит и начнет писать что попало или нажимать команду старт. Таким образом мы оградим бота от лишнего спама. Теперь, если у нас админ уже нажал на кнопку, то будет срабатывать следующий хендлер, который мы закончим, опять же, в следующем посте: @dp.callback_query_handler(post_callback.filter(action="post"), user_id=admins) async def approve_post(call: CallbackQuery)

Вызов исключений Оператор raise позволяет программисту принудительно породить исключение. Например Код 1 Единственный аргумен
Вызов исключений Оператор raise позволяет программисту принудительно породить исключение. Например Код 1 Единственный аргумент оператора raise определяет исключение, которое нужно вызвать. Им может быть либо экземпляр исключения, либо класс исключения (класс, дочерний к классу Exception). Если класс исключения будет передан, он неявно создаётся путём вызова конструктора без аргументов Код 2 Если вам нужно определить, было ли возбуждено исключение, не перехватывая его — упрощённая форма оператора raise позволит возбудить исключение заново Код 3 #python_обучение

Продолжение к посту выше Приступим к обработке постов администратором. После получения поста, бот должен переслать его админи
Продолжение к посту выше Приступим к обработке постов администратором. После получения поста, бот должен переслать его администратору на проверку. Для этого пишем: await bot.send_message(chat_id=admins[0], text=f"Пользователь {mention} хочет сделать пост:"). Теперь, мы берем наш отформатированный текст, который был получен из данных и отправляем его админу на подтверждение: await bot.send_message(chat_id=admins[0], text=text, parse_mode="HTML", replay_markup=confirmation_keyboard). А теперь, перед тем как обработать нажатие на кнопку админом, мы пропишем еще варианты реакции на нажатие кнопки пользователем. Пишем хендлер, который мы закончим в следующем посте: @dp.callback_query_handler(post_callback.filter(action="cancel"), state=NewPost.Confirm) async def cancel_post(call: CallbackQuery, state: FSMContext)

Что выведет данный код?
Anonymous voting

photo content

SQL теперь в телеграм! SQL — главный язык программирования баз данных. Базы данных есть везде: от маленького интернет-магазин
SQL теперь в телеграм! SQL — главный язык программирования баз данных. Базы данных есть везде: от маленького интернет-магазина до социальной сети. Знание SQL очень важно для любого программиста! Его будет легко выучить, если подписаться на официальный русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!

Продолжение к посту выше Продолжаем создавать клавиатуру: post_callback = CallbackData("create_post", "action") confirmation_
Продолжение к посту выше Продолжаем создавать клавиатуру: post_callback = CallbackData("create_post", "action") confirmation_keyboard = InlineKeyboardMarkup(inline_keyboard=[[InlineKeyboardButton(text="Опубликовать пост", callback_data=post_callback.new(action="post")), InlineKeyboardButton(text="Отклонить пост", callback_data=post_callback.new(action="cancel")),]]). Клавиатура у нас готова. Импортируем ее в poster.py и пишем следующий хендлер: @dp.callback_query_handler(post_callback.filter(action="post"), state=NewPost.Confirm) async def confirm_post(call: CallbackQuery, state: FSMContext): async with state.proxy() as data: text = data.get("text") mention = data.get("text") await state.finish() await call.message.edit_reply_markup() await call.message.answer("Вы отправили пост на проверку"). В следующем посте разберем действия бота для админа, принимающего пост

Обработка исключений. Часть 6 Если у исключения есть аргументы, они выводятся в качестве последней («детальной») части сообще
Обработка исключений. Часть 6 Если у исключения есть аргументы, они выводятся в качестве последней («детальной») части сообщения о необработанном исключении. Обработчики исключений перехватывают не только исключения, появившиеся прямо в блоке try, но также и возбужденные внутри функций, которые были вызваны в блоке try (даже неявно) #python_обучение

Ты разработчик или только учишься кодить на Python? Отличные новости — тебе теперь есть где тренироваться! На этом канале собраны задания по Python и Machine Learning — от простейших, до задач из реальных проектов. Переходи и тренируйся бесплатно и без нудных говорящих голов с вебинаров ▶️ https://t.me/python_tasks

Продолжение к посту выше Так как мы не будем хранить текст в callback, оставим его в машине состояний. Для этого, до сообщени
Продолжение к посту выше Так как мы не будем хранить текст в callback, оставим его в машине состояний. Для этого, до сообщения пользователю пишем: await state.update_data(text=message.html_text, mention=message.from_user.get_mention()). Сохраняем текст, задаем вопрос пользователю об отправке поста и отправляем его в следующее состояние: await NewPost.next(). Теперь, давайте создадим нашу клавиатуру. Переходим в папку keyboards/inline и создаем файл manage-post.py. В этой клавиатуре мы уже будет использовать callback_data factory и напишем: post_callback = CallbackData("create_post", "action") confirmation_keyboard = InlineKeyboardMarkup(inline_keyboard=[[]]). Тут у нас будет 2 кнопки, которые мы заполним в следующем посте

Что выведет данный код?
Anonymous voting

photo content

Уже 18 января, стартует подготовительный курс по Python🐍 Даём только мясную и прикладную информацию. Никакой воды и траты вр
Уже 18 января, стартует подготовительный курс по Python🐍 Даём только мясную и прикладную информацию. Никакой воды и траты времени. Вас ждет 69 уроков теории и практики прямо в браузере, вебинары, лайвкодинг и первая собственная программа на Python, написанная под руководством опытного наставника. По окончании 14-дневного курса вы уже владеете базовым знанием языка! Запишитесь прямо сейчас!

Продолжение к посту выше Для кода из прошлого поста нам понадобится машина состояний. И для этого в папке states мы создадим
Продолжение к посту выше Для кода из прошлого поста нам понадобится машина состояний. И для этого в папке states мы создадим файл poster.py. В самом файле пишем: class NewPost(StatesGroup): EnterMessage = State() Confirm = State(). В файле с хендлерами создаем новый хендлер, но перед этим в хендлере команд нам надо установить состояние: await NewPost.EnterMessage.set(), a уже после создавать хендлер: @dp.message_handler(state=NewPost.EnterMessage) sync def enter_message(message: types.Message, state: FSMContext): await message.answer("Вы собираетесь отправить пост на проверку?", replay_markup=confirmation_keyboard). Эту инлайн клавиатуру мы сейчас создадим, но до нее, нам нужно где то сохранить текст пользователя

Обработка исключений. Часть 5 В блоке except можно указать переменную, следующую за именем исключения. Переменная связывается
Обработка исключений. Часть 5 В блоке except можно указать переменную, следующую за именем исключения. Переменная связывается с экземпляром исключения, аргументы которого хранятся в instance.args. Для удобства, экземпляр исключения определяет метод __str__(), так что вывод аргументов может быть произведён явно, без необходимости отсылки к .args. Таким образом, вы также можете создать/взять экземпляр исключения перед его порождением и добавить к нему атрибуты по желанию #python_обучение

Продолжение к посту выше После окончания цикла, весь сформированный ответ отправляем пользователю: await call.message.answer(
Продолжение к посту выше После окончания цикла, весь сформированный ответ отправляем пользователю: await call.message.answer(result, disable_web_page_preview=True). Теперь добавим наши хендлеры в инициализатор, запустим нашего бота и протестим. Далее, еще один интересный функционал - предложение постов от подписчиков и, если вы админ канала, подобие доски объявлений. Для этого создадим новый хендлер в папке users под названием poster.py, который будет активироваться по команде /creat_post. Пишем: @dp.message_handler(Command("creat_post)) async def creat_post(message: types.Message): await message.answer("Отправьте мне текст поста на публикацию"). После этого сообщения бот должен находится в состоянии ожидания поста на публикацию. Когда пользователь что то напишет, бот должен переслать это в канал в том виде, в котором оно есть.