Контент-завод с ИИ для автонаполнения каналов в TG уникальными статьями.

soprano

Client
Регистрация
25.08.2011
Сообщения
1 027
Благодарностей
1 263
Баллы
113
Приветствую всех.

Решил написать здесь об уже позабытом, малоизвестном мессенджере, который нельзя уже, вероятно, называть, потому как апрель 2026 года наступил и строгая, но справедливая организация с аббревиатурой на 3 буквы уже выполнила по нему все свои обещания.
Но всё-таки...

-Рабинович, ваша жена - б@#&ь!
-А ваша?
-Но всё-таки...

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

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

Мой шаблон делает следующее:

1. Вы вводите любое ключевое слово в переменную.
2. Это слово переводится на язык, заданный в шаблоне, например, английский.
3. Затем через DuckDuckGo или Bing ищутся статьи на английском по заданному запросу в указанном количестве (по умолчанию 10).
4. Найденные статьи переводятся через нейросеть (здесь 3 для подстраховки) на русский язык, суммируются в пределах заданного количества знаков (чтобы влезть в лимиты одного поста) и публикуются в канале.
5. Под каждую статьи ищется подходящее изображение и тоже публикуется в начале статьи.
6. Каждый запрос сохраняется в базе SQlite - заголовок, ссылка на статью, текст статьи, текст перевода, ссылка на картинку, исходный язык, дата публикации.
7. При следующем запуске с таким же запросом проверяются источники на дубли, чтобы не повторяться.

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

Вот как это выглядит в канале:

140938


При кросспостинге в DZEN:
140939


И в базе данных Sqlite:
140940




Для начала работы нужно настроить следующие переменные:

string TELEGRAM_BOT_TOKEN = "токен"; в @botfather получите
string TELEGRAM_CHANNEL_ID = "@tgchannel"; бот должен быть админом в канале

string GEMINI_API_KEY = "apikey";
string GEMINI_PROXY_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_API_KEY";//если блокировка, то подключайте прокси

string LLM7_API_BASE = "https://api.llm7.io/v1/chat/completions"; // бесплатно получить на https://token.llm7.io/
string LLM7_API_KEY = "бесплатный токен";
string LLM7_MODEL = "fast";

string GROQ_ENDPOINT = "https://api.groq.com/openai/v1/chat/completions";
string GROQ_API_KEY = "бесплатный токен";бесплатно получить на https://groq.com
string GROQ_MODEL = "openai/gpt-oss-120b";

string DB_PATH = project.Directory + @"\articles.db";//база создается автоматически

int SEARCH_LIMIT = 10; // сколько статей искать
int CAPTION_MAX_LEN = 1024; // максимальный размер
int REQUEST_TIMEOUT_SEC = 150; // пауза между запросами
int MIN_ARTICLE_LEN = 1000; // минимальный размер исходной статьи
int MAX_WORDS = 1500; // максимум слов в статье

string queryRu = "Анализ ТОП-3 криптовалют сейчас";//запрос


Что можно добавить:

1) Кросспостинг из канала в DZEN - и вы получите еще один источник уникальных публикаций.

2) Небольшое дополнение в коде позволит одновременно наполнять много разных каналов на разных языках на разные темы.

У меня аналог на Python одновременно на 10 языках наполняет 10 каналов и еще в x.com отправляет посты. Так что много чего можно придумать.


Всем желаю успехов в вашем нелегком труде!
 

Вложения

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

DV_

Client
Регистрация
21.08.2020
Сообщения
142
Благодарностей
40
Баллы
28
Зачем всё делать в 1 кубике?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
1 027
Благодарностей
1 263
Баллы
113

AntonBust

Пользователь
Регистрация
27.03.2025
Сообщения
37
Благодарностей
7
Баллы
8
1000 строк кода реально тяжеловато переварить в одном кубике:D
Я с этой темой не знаком, поэтому вопрос к знатокам
Как тот же дзен относится к нейростатьям? Получают ли они достойные охваты или палятся?
 

soprano

Client
Регистрация
25.08.2011
Сообщения
1 027
Благодарностей
1 263
Баллы
113
1000 строк кода реально тяжеловато переварить в одном кубике:D
Я с этой темой не знаком, поэтому вопрос к знатокам
Как тот же дзен относится к нейростатьям? Получают ли они достойные охваты или палятся?
Дзен к таким статьям относится очень хорошо. Но это не нейростатьи, а переведенные с других языков.
 
  • Спасибо
Реакции: AntonBust

AntonBust

Пользователь
Регистрация
27.03.2025
Сообщения
37
Благодарностей
7
Баллы
8
Дзен к таким статьям относится очень хорошо. Но это не нейростатьи, а переведенные с других языков.
И еще вопрос пожалуйста на счет 1000 строк кода
Понимаю что дело привычки, но почему все же не используете объекты, которые можно между кубиками передавать?
Я к сожалению забыл как это называется в зенке, но всё хочу начать этим пользоваться чтобы не раздувать код в одном кубике
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 074
Благодарностей
1 935
Баллы
113
И еще вопрос пожалуйста на счет 1000 строк кода
Понимаю что дело привычки, но почему все же не используете объекты, которые можно между кубиками передавать?
Я к сожалению забыл как это называется в зенке, но всё хочу начать этим пользоваться чтобы не раздувать код в одном кубике
Плохо делать все в одном кубике, проще использовать общий код и дергать нужные методы когда строим логику в C# кубиках
 

AntonBust

Пользователь
Регистрация
27.03.2025
Сообщения
37
Благодарностей
7
Баллы
8
Плохо делать все в одном кубике, проще использовать общий код и дергать нужные методы когда строим логику в C# кубиках
Так и поступаю, но в основном это простые шаблоны
Я скорее имел ввиду ситуацию когда из-за сложности работы с большим c# кубиком хочется перенести состояние объекта в другой c# кубик
Когда становится не очень удобно дебажить 500 строк в одном кубике
Я также понимаю, что можно всё сделать удобно и читаемо вообще в Visual Studio, но ради замещения 2-3х кубиков с# не целесообразно разбираться с этим
 

soprano

Client
Регистрация
25.08.2011
Сообщения
1 027
Благодарностей
1 263
Баллы
113
Плохо делать все в одном кубике, проще использовать общий код и дергать нужные методы когда строим логику в C# кубиках
Не люблю общий код, надо в голове держать что тут, что там, а так делаешь потихоньку последовательно, в общем, так привык.
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 074
Благодарностей
1 935
Баллы
113
Не люблю общий код, надо в голове держать что тут, что там, а так делаешь потихоньку последовательно, в общем, так привык.
Смотри, тут не в общем коде дело, а в управлении сложностью.

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

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

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

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

soprano

Client
Регистрация
25.08.2011
Сообщения
1 027
Благодарностей
1 263
Баллы
113
Смотри, тут не в общем коде дело, а в управлении сложностью.

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

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

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

То есть ты не теряешь пошаговость, а просто убираешь необходимость держать весь код в голове одновременно.
За науку спасибо.

Как говорят: - У каждого Додика - своя методика, у каждого Абрама - своя программа.

Я уже не переучусь, поздно.
 
  • Спасибо
Реакции: gnomza75, izubr и samsonnn

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