Помню 2 курс, я начинаю кроме технических знаний на лекциях, постигать мир настольных игр. "Эволюция", "Колонизаторы", "Мафия", и много много других интересных и не очень настольных игр.

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

Прошло 10 лет, и в ChatGPT появилась возможность через Dalle генерировать картинки, у меня появилась идея.

А что если сыграть в Имаджинариум наоборот. Сгенерировать картинку, и попробовать отгадать фразу, по которой она сгенерировалась?

Вначале я объяснил мою идею Dalle и попросил загадать какое-то слово и создать картинку на него. Полчаса поигрался с Dalle, удивился до чего дошёл прогресс. Шайтан машина поняла мою идею и играла со мной.

то самое изображение на слово "Игра"
то самое изображение на слово "Игра"


После решил опробовать идею на людях. Подопытными кроликами стали мои одногруппники по репатриантской программе в Израиле. Я загадал слово "игра" и попросил dall-e сделать изображение в стиле игры Имаджинариума. Картинку от нейросети отправил в чат одногруппников, предварительно объяснив мою идею. Многим идея понравилась, и мы часто играли в эту игру.

Со временем появилась идея, что ведущий должен подсказывать только с помощью реакции на сообщения. Такое изменение, сделало игру чем-то похожим на словесного "крокодила", когда надо без слов что-то объяснить.


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

Тут важная оговорка. Я прям джун джуном, и программирую на C#, что мягко говоря не самый популярный вариант для создания телеграмм бота. Мой максимум до этой затеи, бот, которые на сообщение "Привет", ответит "Привет".

Изучив подробнее API для телеграм ботов, и задав под тысячу вопросов ChatGPT, у меня получилось сделать Вербализариум бот.

В процессе работы над ботом я внедрил ряд функций:

  • Генерация изображений через API нейросети Кандинский 3.0.

  • Поддержка автоматической и ручной загрузки картинок.

  • Возможность ChatGPT реагировать на догадки пользователя и формулировать новые загадки.

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

  • Введение соревновательного элемента и статистики для игроков.

Про техническую сторону:

  • Mongo (надо бы для часто используемых операций Redis подключить)

  • Для получения обновлений от телеграмма использую пока Polling (надо переделать на Webhook)

  • Nuget Telegram.Bot

  • Для подсказок использую GPT-4 и GPT3.5Turbo

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

Пример раунда в Вербализариуме
Пример раунда в Вербализариуме

Переходим в бот - https://t.me/Verbalizarium_bot, добавляем бота в чат, в котором хотите поиграть, и создаём игру. Очень рекомендую создавать отдельный чат для игры или отдельную тему в чате, если в вашем чате есть разделение на темы. В противном случае, участники чата которые не хотели играть, будут справедливо бухтеть, "Что за + 200 сообщений за час?".

При добавлении бот спросит предпочитаемый язык и выдаст на нём дальнейшую инструкцию:

Как выглядит инструкция
Как выглядит инструкция

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

При увеличении количества активных участников, цифра будет увеличиваться. Этим объясняется ограничение в количестве подсказок и реакций. В обозримом будущем, подсказки от бота можно будет докупить, прямо в телеграмме. Но так как мой продукт сырой, а подсказки порой совсем плохи, не готов за их использование

121 сообщение спустя в том же чате
121 сообщение спустя в том же чате

Для тех, кто столкнётся с какими-либо проблемами в процессе использования Вербализариума, или захочет поделиться идеями и предложениями, я создал отдельный чат: https://t.me/+_-ncV9R-EjliOGYy .

Прошу, не судите строго. Помните, я не художник, но я так вижу.

Комментарии (2)


  1. Atreides07
    22.04.2024 11:21
    +2

    Для джуна неплохо. Успехов в развитии. А C# для ботов в телеге норм, это не такое уж редкое явление как Вам кажется


  1. DiegoV
    22.04.2024 11:21
    +1

    Поиграл, пощупал бота - да тут годнота подъехала, так еще и с заделом под монетизацию. Хорошая идея и неплохая реализация, учитывая, что автор называет себя джуном.