Шаблон для ведение канала Telegram на автомате.

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Вот и пришло время добраться до телеграма.
в данном шаблоне покажу как можно вести свой канал телеграм практически на полном автомате.
Шаблон состоит из 3х частей, в первой мы будем парсить сайты для нужного нам контента, данная часть шаблона написана на HtmlAgilityPack, данный шаблон сделан максимально простым чтобы в нем смог разобраться и новичек. Во входных параметрах мы указываем сайт от куда будем парсить и xPath "ключ" с помощью которого можно собрать данную информацию.
В качестве примера выбрана фитнес тематика, и данный шаблон собирает мотивирующие цитаты, которые мы будем вставлять в картинки(вторая часть шаблона) и постить в наш канал телеграм(треться часть шаблона).


Итак поехали:

Шаг 1: Создаём телеграм-бота

Первое, что нам потребуется это создать бота через официального "Главного" бота телеграм.

для этого в строке поиска пишем
@botfather

51212


Выбираем официального бота(будьте внимательны, все остальные боты написаны непонятно кем, и скорее всего преследуют скам цели).

далее все очень просто, стартуем бота командой /start

51213


создаем нового бота /newbot, отвечаем на простые вопросы и получаем Ключ управления ботом через API
51214


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

Шаг 2: Создание канала и подключение бота

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

51215


51216


Далее что нам требуется узнать chat_id, для этого просто в браузере делам запрос по адресу https://api.telegram.org/bot<API TOKEN>/getUpdates. В нашем случае он будет выглядеть так https://api.telegram.org/bot1102371005:AAHRUuaGT1qssatSwThC3R45yO5ZvPNg3yE/getUpdates.

При первом заходе по данному адресу получаем сообщение, что все ок, но без нужной нам информации. Постим в наш канал любое сообщение (его потом можно будет удалить) и повторно заходим по ссылке выше. На этот раз мы получаем всю информацию о нашем боте, включая необходимый нам chat_id

51218


так же копируем данную информацию, она на еще пригодиться.

Шаг 3: Настройка шаблона

Далее переходим к нашему шаблону:
Шаблон имеет простейшие входные настройки.

51219


Для примера я выбрал фитнес цитатник(на самом деле можно парсить и постить все что угодно, от картинок до рецептов)
сайтом донором у нас будет
ключом xPath: //ol/li , да да, от такое просто выражение, которое позволяет собрать все цитаты на странице. для того чтобы их собрать нам требуется вызвать атрибут InnerText.

Аналогично собираем цитаты с других сайтов, и за очень короткий срок у нас получается сотни цитат, которых хватит на достаточно продолжительный срок публикаций в нашем канале.

Чтобы цитаты смотрелись более привлекательно, мы поместим их на картинку и посути у нас получится картинка-мотиватор.
ранее для этих целей использовал различный софт, но благодаря предыдущему конкурсу статей в моем арсенале появилась библиотека Magick.Net (советую ознакомиться со статьей ).

Особо на этой части шаблона останавливаться не буду, в статье из конкурса все равно все рассказано намного подробней, а сам код подробно комментирован.

Ну и последняя часть, это сам шаблон постинга в телеграм канал, шаблон сделан чтобы постить картинки, но если вам потребуется постить текст то переделать его очень просто.

Единственное что забыл указать, для работы нашего шаблона нужно положить библиотеки
  • HtmlAgilityPack
  • Magick.Net
в директорию ExternalAssemblies и прописать их в GAC и Using.

Результат

На выходе имеем бота который собирает информацию, оформляет ее и постит в канал в телеграм.

51222
 
Категория
Постинг, SMM
Номер конкурса шаблонов
Пятый конкурс шаблонов
Уровень сложности
Продвинутый

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование модератором:

guloc

Client
Регистрация
12.09.2016
Сообщения
153
Благодарностей
151
Баллы
43

Gomer

Client
Регистрация
26.09.2016
Сообщения
56
Благодарностей
28
Баллы
18
Одна годнота в этом конкурсе, спасибо вам.
 

Supergrok

Client
Регистрация
05.03.2019
Сообщения
171
Благодарностей
156
Баллы
43
Спасибо за пример и шаблон. Телега щас рулит
 
  • Спасибо
Реакции: Master Woo

DRAMER77

Client
Регистрация
13.04.2019
Сообщения
8
Благодарностей
2
Баллы
3
Спасибо за шаблон! Как раз хотел заняться телегой вплотную!!!
 
  • Спасибо
Реакции: Master Woo

6zxa9m

Client
Регистрация
10.01.2018
Сообщения
128
Благодарностей
27
Баллы
28
Автор, а можешь поправить шаблон, чтобы он еще и текст под картинкой писал ?
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
там в шаблоне есть же закоментированные строки, которые можно раскоментировать и получить требуюмую фунцкцию
Код:
//string description = project.Variables["description"].Value; //если требуется описание к картинке
// "https://api.telegram.org/bot" + bot_id + "/sendPhoto?chat_id=" + chat_id + "&caption=" + description,  //с описанием
по сути нужно только дописать
Код:
&caption=TEXT
 
  • Спасибо
Реакции: impul5e

She

Client
Регистрация
11.01.2017
Сообщения
122
Благодарностей
23
Баллы
18
Доброго дня @Master Woo
Давно думал о таком шаблоне. Мой голос за вас в том числе.
Сделайте пожалуйста шаблон так сказать более универсальным:
1.Чтобы можно было добавлять несколько доноров для парсинга текста.
2.Чтобы можно было постить заранее заготовленные текста.
3.Чтобы можно было постить заранее заготовленные видео.
4.Чтобы можно было постить заранее заготовленне картинки.
5.Чтобы можно было постить и картинки+текста,и видео+текста,и картинки и видео+текста.
6.Чтобы можно было постить всё выше перечисленное.
7.Если бы ещё шаблон мог парсить видео из тиктока по ключевым словам из трендов и потом их постить в телеграм,то это бы стал вообще "мега пушка комбайн" и мой голос был бы явно отдан вам. Вот тут как раз сделан шаблон довнлоадер из тиктока
 
Последнее редактирование:
  • Спасибо
Реакции: phoenixs

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 099
Благодарностей
648
Баллы
113
Доброго дня @Master Woo

8. Подписываться на каналы
9. Отписываться от каналов
10. Активировать ботов и общаться с ними
11. Парсить участников каналов
12. Рассылать сообщения в личку по заданному списку
13. Ну и не мало важно: регистрация аккаунтов через десктоп версию с залогиванием в зеннопостере
14. Опционально, управление аккаунтом в эмуляторе андроид, например в мемо.

И мой голос был бы явно отдан вам.
 
  • Спасибо
Реакции: phoenixs

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
в следующем шаблоне обязательно реализую функцию, нужно будет только ввести свой номер кошелька, и будет только одна кнопка "получить бабло"
 

Zheka84

Client
Регистрация
13.10.2018
Сообщения
161
Благодарностей
25
Баллы
28
ключом xPath: //ol/li , да да, от такое просто выражение, которое позволяет собрать все цитаты на странице. для того чтобы их собрать нам требуется вызвать атрибут InnerText
подскажите пожалуйста как это реализовать? :-) не хватает моих познаний, к сожалению
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

Zheka84

Client
Регистрация
13.10.2018
Сообщения
161
Благодарностей
25
Баллы
28

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
как составляется подобное выражение? и как вызвать вызвать атрибут InnerText ? :-) И извините, если этот вопрос Вам кажется глупым.
в двух словах и не расскажешь, почитайте на тему xpath
 

basutarudo

Client
Регистрация
26.11.2018
Сообщения
3
Благодарностей
2
Баллы
3
в следующем шаблоне обязательно реализую функцию, нужно будет только ввести свой номер кошелька, и будет только одна кнопка "получить бабло"
и пожалуйста будьте добры сделать выбор выплачиваемой валюты:bg:
 
  • Спасибо
Реакции: aero3d

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 346
Благодарностей
910
Баллы
113
...
 
Последнее редактирование:

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 346
Благодарностей
910
Баллы
113
Можно ли как-то сделать, чтобы текст переносился на новую строку, если он длинный? А то у меня всё пишется в одну строку и при длинном тексте шрифт сжимается до минимального, плюс иногда даже текст средней длинны немного обрезается по краям.
Моя картинка 800х600, в настройках выставил вроде всё правильно:
Width = 780, Height = 590
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Можно ли как-то сделать, чтобы текст переносился на новую строку, если он длинный? А то у меня всё пишется в одну строку и при длинном тексте шрифт сжимается до минимального, плюс иногда даже текст средней длинны немного обрезается по краям.
Моя картинка 800х600, в настройках выставил вроде всё правильно:
Width = 780, Height = 590
я не нашел решения для этой проблемы, как вариант можно считать количество слов/символов с строке, и если оно привышает пороговое значение, то делать перенос "вручную"
 
  • Спасибо
Реакции: Zedx

Alna

Новичок
Регистрация
20.03.2020
Сообщения
7
Благодарностей
0
Баллы
1
Master Woo
Просьба написать Ваши контакты мне в личку
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

BIM

Client
Регистрация
20.04.2020
Сообщения
81
Благодарностей
6
Баллы
8
нашел
 
Последнее редактирование:

Zenkagood

Client
Регистрация
27.11.2019
Сообщения
58
Благодарностей
10
Баллы
8
Выполнение действия CSharp OwnCode: Парсер на HtmlAgilityPack. Результатом выражения должен быть NodeSet. Входные настройки вбил подскажите что не так делаю?
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Входные настройки вбил подскажите что не так делаю?
ну как минимум не правильно задаете вопрос, я не телепат и не знаю, какие настройки вбили и какой сайт парсите
 

Zenkagood

Client
Регистрация
27.11.2019
Сообщения
58
Благодарностей
10
Баллы
8

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

silom2000

Client
Регистрация
16.12.2019
Сообщения
31
Благодарностей
7
Баллы
8
Шаблон отличный, премного благодарен, наблюдаю и учусь писать код.
Запустил только в PM и при добавлении Magick.Net в using получал ошибку, кода убрал все пошло.
Есть пару вопросов: как рандомизировать картинки (не использовать одну и ту же, к примеру из созданной папки "фото" в папке проекта).
И хотелось бы изменять размер шрифта в зависимости от длины текста, ну или делать перенос текста, некоторые длинные тексты уж очень сильно уменьшает, пытаясь вместить в указанную длину.
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Запустил только в PM и при добавлении Magick.Net в using получал ошибку, кода убрал все пошло.
возможно не положили dll в ExternalAssemblies
Есть пару вопросов: как рандомизировать картинки (не использовать одну и ту же, к примеру из созданной папки "фото" в папке проекта).
как вариант рандомизировать использование шаблона
И хотелось бы изменять размер шрифта в зависимости от длины текста, ну или делать перенос текста, некоторые длинные тексты уж очень сильно уменьшает, пытаясь вместить в указанную длину.
лучше спросить у автора статьи по magik.net
 

BIM

Client
Регистрация
20.04.2020
Сообщения
81
Благодарностей
6
Баллы
8
прошу прощения! как подскажите узнать id ЧАТА, ни как не получается....не могу подключить шаблон. Есть канал и есть бот, причем давно. Вот решил подключить Ваш скрипт.
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
прошу прощения! как подскажите узнать id ЧАТА, ни как не получается....не могу подключить шаблон. Есть канал и есть бот, причем давно. Вот решил подключить Ваш скрипт.
в стартовом посте есть инструкция как получить id чата
 

Ikigai

Client
Регистрация
13.12.2016
Сообщения
276
Благодарностей
27
Баллы
28
Автору спасибо за статью, но у меня бот не хочет публикавать инфу. Думаю может накосячил с бот_id. Если я правильно понял, то в вашем примере это 1102371005 ( использовал так же User Name):
55845


PS:перебирал разные вариации , но постинг не идет.
 
Последнее редактирование:
  • Спасибо
Реакции: лютыйперец

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)