Отправить код в Телеграмме

Для примера возьмем форму из предыдущей статьи Форма обратной связи на php и научим ее передавать данные в мессенджер телеграм.

Форма состоит из двух файлов: index.php с html разметкой, и обработчика telegram.php, который отправляет письмо с данными на почту и в telegram.

Создайте в корне сайта файл index.php c таким содержимым, или поместите html — разметку формы на страницу вашего сайта:

Далее задайте боту имя (например mynewbot), и никнейм. Никнейм должен быть уникальным а так же обязательно оканчиваться на bot. Например, coderistu_bot. Если имя для бота уже занято, то вы увидите такое сообщение: Sorry, this username is already taken. Please try something different.

Если имя не занято, то придет сообщение об успешной регистрации бота, где будет указан его токен.

В этой же директории на сервере, где лежит файл index.php нужно создать файл — обработчик формы telegram.php в котором прописываются полученные ранее токен телеграм и chat_id.

if (!empty($_POST[’email’]) (!empty($_POST[‘text’]))) < //проверяем поля на пустоту

Не приходит код в Telegram? Актуальный способ


$to = «ваша почта» ; // куда отправляем письмо
$mail = ‘Почта: ‘.$_POST[’email’]; // получаем данные из формы
$text=’Сообщение:’ .$_POST[‘text’]; // получаем данные из формы
$message=$mail.»rn». htmlentities($text); // формируем сообщение
$subject = «Письмо с сайта»; // тема письма
mail($to, $subject, $message); // отправка письма
$token=’ваш_токен’; // ваш токен телеграм
$chat_id=’ваш id’; // ваш id телеграм
if (isset ($token) ($chat_id)) $sendToTelegram = fopen(«https://api.telegram.org/bot/sendMessage?chat_id=text=$mail%0A$text»,»r»); // отправка данных c формы в телеграм
>
echo «Письмо отправлено!»; // сообщение при отправке
> else echo «Заполните все поля»; // сообщение при ошибке
>
?>

Еще по теме:  Крупные эмодзи в Телеграмме что это

setInterval(function()< document.location.replace(«index.php»); >, 3000);

Как сделать перенос строки в telegram?

Т. к. телеграм не воспринимает php символы для переноса строки (rn, PHP_EOL и пр.), то для решения этой проблемы необходимо использовать символ %0A.

Источник: coderistu.ru

Как отправить данные из html-формы в Telegram?

Как отправить данные из html-формы в Telegram

Привет всем! Сегодня мы будем разбираться, как отправить данные из html-формы в Telegram?

Что такое форма обратной связи — вы знаете (уверен). Из лепят везде — даже там, где они не особо нужны. А еще вы знаете, что такое Telegram — очень удобный (наверное, самый удобный в настоящее время) мессенджер, и вообще — надстройка над Интернетом. Вообщем, растекаться по древу не буду, расскажу, как сделать форму обратной связи, данные из которой будут уходить в Telegram.

[Решено:] #Telegram не приходит код смс и звонок для активации и регистрации телеграмма на телефоне


Для этого нам понадобиться:
1. Создать бота.
2. Создать группу, к которой мы должны присоединить нашего свежесозданного бота из пункта 1
3. Создать форму обратной связи, которая будет находиться на нашем сайте. Например, форма будет выглядеть так:

Мне, если честно, лениво сейчас напрягаться, потому форма состоит только из одного поля, и кнопки
Итак, форма есть, а теперь — разберемся с кодом, который будет отправлять данные из html-формы в Telegram. Выглядит код максимально просто:

?php $token = ‘5460612841:AAErLizvQ6GNvgAtagxwZ8lwcJNkITDYg3I’; $chat_id = ‘-822748432’; $text = ‘Текст из html-формы: ‘.$_POST[‘input_text_box’]; $url = ‘https://api.telegram.org/bot’.$token.’/sendMessage?chat_id=’.$chat_id.’text=’.$text; $handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($handle); header(‘Location: form_to_telegram.html’); ?—>

Сама логика работы кода следующая:
1. Мы знаем, что можем работать с Telegram, отправляя ему команды в api через адресную строку браузера.
2. Значит, нам нужно лишь:
— знать токен нашего бота (мы получаем его в момент создания бота)
— знать chat_id (очень просто получить chat_id перейдя по ссылке:
https://api.telegram.org/botTOKEN>/getUpdates, только вместо TOKEN поставьте токен, который вы получили при создании своего бота
И да — если вы вдруг переходя по ссылке получаете нечто вроде:
<«ok»:true,»result»:[]>
добавьте своего бота к своей группе, куда и будут приходить сообщения из html-формы )
— сформировать итоговую строку, которая будет содержать в себе:
— ссылку на Telegram API
— токен бота
— команда для бота (в нашем случае — sendMessage
— chat_id (где и как его получить я писал несколькими строками выше)
— режим кодировки текста
— и, собственно, сам текст, который нам нужно получить из html-формы.

Еще по теме:  Как зайти в Телеграмм без кода подтверждения на другом телефоне

Давайте сделаем все это:
— chat_id — есть
— токен — есть
— ссылка на Telegram API — есть
— текст, который мы получаем из html-формы — имеется (мы получаем его вот здесь: $text = ‘Текст из html-формы: ‘.$_POST[‘input_text_box’];
Осталось сформировать итоговую строку для браузера:
$url = ‘https://api.telegram.org/bot’.$token.’/sendMessage?chat_id=’.$chat_id.’text=’.$text;

и передать эту строку браузеру:

$handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($handle); header(‘Location: https://lavrynenko.com/form_to_telegram.html’);

Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.

Источник: lavrynenko.com

Как с помощью aiogram отправить сообщение в канал Телеграм?

Хотел написать бота благодаря aiogram, который сможет отправлять сообщения в канал Телеграм. Но появилась проблема, что я вовсе не знаю, как это сделать. Немного кода, который есть сейчас:

Я не понимаю как мне через message отправить сообщение. Если у кого-то есть возможность отправьте пример кода, по отправке сообщение в Телеграм канал через aiogram.

Отслеживать
задан 26 фев 2021 в 18:07
Stop genocide of UA Stop genocide of UA
859 2 2 золотых знака 7 7 серебряных знаков 27 27 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

import asyncio from aiogram import Bot, types API_TOKEN = ‘BOT TOKEN HERE’ CHANNEL_ID = # это должен быть int, например -1006666666666 bot = Bot(token=API_TOKEN, parse_mode=types.ParseMode.HTML) async def send_message(channel_id: int, text: str): await bot.send_message(channel_id, text) async def main(): await send_message(CHANNEL_ID, ‘Hello!’) if __name__ == ‘__main__’: asyncio.run(main())
Отслеживать
ответ дан 26 фев 2021 в 18:11
Vladyslav Yurchenko Vladyslav Yurchenko
479 3 3 серебряных знака 11 11 бронзовых знаков

Если попытаться вызвать функцию произойдёт ошибка name ‘message’ is not defined , если не передавать этот параметр, при вызове функции произойдёт другая ошибка, что тогда делать?

Еще по теме:  Донаты в Телеграмме как сделать

26 фев 2021 в 18:22
изменил код в ответе
26 фев 2021 в 20:42
asyncio.run(main())
26 фев 2021 в 21:23

для того чтобы узнать id чата, введи код ниже в функцию выше вместо строки чтобы отправить что-нибудь в группу, id чата должен будет прийти тебе в лс

await bot.send_message(message.from_user.id, message.chat.id)
Отслеживать
ответ дан 4 июл 2022 в 20:26
13 2 2 бронзовых знака

  • python
  • telegram-bot
  • aiogram
    Важное на Мете

Связанные

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...