Skip to content

Брейншторм №1 #1

@shurph

Description

@shurph

Обсуждение здесь:
https://t.me/minsk_python/13800

Ivan Borisenko

Видел где-то бота, который тебя приветствует и даёт минуту на то, чтобы ответить на вопрос. Если не отвечаешь — банит

Pavel Yeschenko

я бы давал до получаса
и напоминалку
да блин, нам достаточно от иностранных мамкиных трейдеров проверки на символы

Tatsiana Tsygan

Мне нравится такой бот
Только чтобы там была просьба рассказать о себе за 30 минут одним сообщением или автоматическое удаление из чата
Кто?
Чем и где занимается?

Какие ещё вопросы было бы интересно услышать от нововступивших?

Pavel Yeschenko

да хотя бы просто здрасьте

Alex

Мне кажется проблема надумана, тут проскакивает 2-3 сообщения в месяц, что вообще не проблема

Anders

как вариант для новичков - разработка опенсорсного бота на питоне для нужд чатика

Pavel Yeschenko

и чтобы он умел статус авс по регионам дать
и кофе приносил)

Anders

в боте можно держать всякие команды по получению FAQ, правил сообщества, инструкций новичкам, инструкций тем, кто хочет опубликовать вакансии и т.д.
то, что решается в принципе прикрепленным сообщением, но это не так интересно
я могу в принципе за заготовку этого дела на следующей неделе взяться, если набросаем совместное ТЗ и видение способа разработки и контрибуции в это дело
а также если кто-то подскажет, где можно задешево деплоить ботов телеграммных ;)

Pavel Yeschenko

я думаю тестовый бот на raspberry pi 4 + PoE шапке сделать
а то лежит без дела

Anders

Мой предполагаемый список фичей минимальных:

  • Приветствие нового участника чата по имени
  • Предложение ему правил комьюнити, ссылок на чат для новичков, ссылок на информацию о том, как задавать и не задавать вопросы и на чат для поиска вакансий
  • Предложение отвтетить боту, что новый участник не является спамером с внесением его в "серый" список доступный через отдельную команду для админов
    соответственно интерфейс взаимодействия:
/faq - фак сообщества
/i_am_no_a_spammer - пометить себя как не спаммера
/spam_candidates - список спамеров кандидатов

Pavel Yeschenko

кстати, этим же ботом можно сделать голосование по затыканию каких-нибудь никому не интересных срачей

Anders

вот уже и фича-реквесты пошли
так же можно сделать для админов отдельный эндпоинт правки текста приветствия

Tatsiana Tsygan

А в меню бота ещё можно добавить полезные ссылки
Где все видео?
Как выступить с докладом?
Покажи мем или расскажи анекдот)

Anders

в точку

Покажи мем или расскажи анекдот) - нажал сюда и сразу бан

Tatsiana Tsygan

А можно, чтобы бот приветствие писал не в чат, а в лс вступившему?

Pavel Yeschenko

ох не люблю я неведомую хрень в лс

Anders

Tatsiana Tsygan
А можно, чтобы бот приветствие писал не в чат, а в лс вступившему?

там могут быть проблемы, поскольку групповой бот и бот в личной переписке - это чуть-чуть разные сущности

Tatsiana Tsygan

Pavel Yeschenko
ох не люблю я неведомую хрень в лс

Просто представь
4 бота заходят в чат и бот в общий чат всем шлёт персональное приветствие

Я уже хочу застрелиться

Anders

например бот в группе не может читать переписку, если к нему не обратиться по имени

Tatsiana Tsygan
Просто представь 4 бота заходят в чат и бот в общий чат всем шлёт персональное приветствие Я уже хочу застрелиться

для этого можно кул-даун организовать
не слать сообщения чаще раз в N-минут\часов

Tatsiana Tsygan

Anders
например бот в группе не может читать переписку, если к нему не обратиться по имени

А если сделать универсальное приветственное сообщение в чате с правилами и всем необходимым, которое будет ботом в самом начале показываться вступившим в чат?

Anders

это собственно и есть основная задумка

Николай Сасковец

Мне видится, что было бы очень хорошо, если бы такой бот создавал минимум активности/контента в чате своими действиями

Anders

вообще похожая штука есть в чатике девопсов, сейчас попробую найти

Aliaksiej Homza

После нажатия на кнопку "я не спаммер" стирать сообщение?)
А инфу не по приходу а по команде

Kiryl

Anders
а также если кто-то подскажет, где можно задешево деплоить ботов телеграммных ;)0

На хероку бесплатно можно

Anders

DevOps Help Bot
User commands:

  • /man - send list of commands to chat
  • /report - forward replayed message to admin chat and send link of replied message for fast-navigation
  • /starter - send starter kit to user (from file)
  • /middle - send starter kit to user (from file)
  • /rules - send chat rules
  • /course - send user list of courses (free\price)
  • /cert - send user list of certification tips & tricks
  • /relocate - send user list of relocate chats and channels
    @andersmach here it is.
    Starter Kit:
  1. DevOps manifest
  2. SRE implments DevOps \ 30 минутное интервью, дополняет 1 сезон
    Tip: В данном плейлисте сотрудники Google расскажут базовые различия между SRE и DevOps, а также основные концепции и принципы построения рабочего процесса
  3. CI\CD\CDP \ Patterns and anti-patterns of CI/CD
    Tip: Расшифровка абревиатур, а также паттерны/антипаттерны построения и работы с этими методиками
  4. How To Become a DevOps Engineer In Six Months or Less (part 1 \ part 2 \ part 3 \ part 4 \ part 5 \ part 6 \ part 7)
    Tip: В своем роде roadmap для становления SRE специалиста с примерами. Достаточно абстрактный для того, чтобы замена инструментов не привела к потери большого куска смысла
  5. DevOps Toolkit 2.0 (и далее всю серию) Стоит понимать, что 2.0/1 морально устарели и читать их нужно только для изучения концепций
    Tip: Детально рассказывает про инструменты, а также учит когда, как и для каких целей использовать те или иные инструменты
  6. SRE books
    Tip: книги от Google, думаю комментарии излишне) Просто нужно прочесть)
  7. Kubernetes best practice (актуально для любой разработки в контейнерах)
    Tip: небольшой плейлист по мировым практикам работы с контейнерами на примере Kubernetes и GCP
  8. Designing Distributed Systems
    Tip: Данная книга расскажет про паттерны построения расрпделенной системы. Достаточно абстрактно, чтобы можно было применить к большому количеству кейсов с определенными купюрами
  9. Building Evolutionary Architectures
    Tip: In progress
  10. The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
    Tip: In progress
  11. The Nineteen-Factor App \ The Twelve-Factor App
    Tip: Данный набор статей позволяет понять как лучше писать приложения, для того, чтобы потом их можно было легко использовать

Anders

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

Maksim N

боту надо мониторить кол-во сообщений от пользоватля: в день не более 3-х, в неделю не более 6-и. Дальше в бан на неделю.
Чтоб понос проходил быстрее.

Николай Сасковец

Maksim N
боту надо мониторить кол-во сообщений от пользоватля: в день не более 3-х, в неделю не более 6-и. Дальше в бан на неделю. Чтоб п

Слишком щедро. Надо в день — не более одного, в неделю — не более двух.
Вот тогда заживем!

Maksim N

Может и строже, тюнить по ходу дела можно, А то слушать пиздострадания 2-х отдельных людей целый день, и очередной раз скипать 50+ сообщений надоедает.

Антон Талецкий

на счёт бота идея хорошая, но вряд получится научить его детектить всякие завуалированные штуки

Alexey Shrub

Бот - попытка техническими мерами решить социальную проблему, увы, это не работает

Антон Талецкий

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

Бот как бот для телеги. Это не ко мне, это мне не интересно.

А вот классификатор это мой профиль. Тулза должна видеть каждое сообщение из чата. Поэтому ей лучше получать эти сообщения через api телеграма и крэды админа. Дальше нужен классификатор сообщений. Тут самое сложное найти датасет, хороший и нужный образам размеченный (на классы вроде 'normal', 'toxic', 'insult', 'advertising' и т.д.). На английском точно есть такие сеты, на русском не факт. Дальше поэксперементировать с эрхитектурами классификатора. Например нейронная сеть с несколькими ветками. Одна ветка например классический для текста подход: впревращаем слова в вектора через ембединг (для русского языка лучше fasttext) + рекурентная сеть. Остальные входы просто фичи всякие из коментария нагенерить. Например достать из комента через python-nltk эмоции (тональность) коментария. Потом еще посчитать частотность производных от нежелательных слов (х*й, п**да и т.д.).
Дальше конкатенируем все эти ветки и сверху накидываем Dense слои. Обучаем. Классификатор готов.

Если не найдется русского датасета его нужно заказать/составить. На крайний случай костыль: взять датасет на английском и сделать несколько переводов (через api google translate и яндекс.переводчик например). Дальше обучить несколько экземпляров сетей на разных переводах и ансамблировать (объединять) их ответы.

Тестируем, если качество классификации выше хотябы 80% уже можно пробовать делать тулзу в продакшене. Там мы навешиваем всякие события. Например если классификатор с уверенностью выше 70% говорит что коментарий не желательный он его пересылает в личку админу. Если выше 99% автомут на пару часов. Если класс 'advertising' то коментарий ещё и автоматом удаляется. Если человек получил больше 3 автомутов за месяц - бан. Ну тут уже много чего можно придумать.

Всё, осталось только реализовать) Это даже можно у меня в компании заказать. Тогда моя команда сделает.

Антон Талецкий

можно тоже как фичу сделать. Если чисто два человека общаются какое-то время - автоматом запускаентся голосование (1. тема интересная, можно продолжать обсуждение в общем чате 2) ребят, никому не интересно, задолбали, го в лс)

Антон Талецкий

совсем в идеале нужно чтобы те кто проголосовал что обсуждение интересное видят сообщения, а остальные нет
но это действительно уже треды в общем

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions