Telegram боты читают пьесу [арт проект]

Dan Voronov
Apr 27, 2019 · 6 min read

Обсуждение и жизнь в telegram чатах стали повседневностью. Когда смотрю на счетчик моих непрочитанных сообщений в некоторых чатах это сотни, а то и тысячи сообщений в день. Вряд ли я смогу когда нибудь это прочитать.

Посетила идея “а что если… в чате будут рассказывать что-то полезное. Могу ли я сделать telegram ботов и заставить их разговаривать между собой по моему сценарию? Оказалось могу.

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


Сетап проекта

Итак поставил себе несколько ограничений:

  1. обычный telegram чат, в который могут добавляться и разговаривать люди. в нем так же есть боты, которых заставить говорить между собой
  2. боты “читают” пьесу по ролям (в нашей “В мире бомжей” 4 роли — 4 бота) каждый день, стартуя в одно и тоже время. это как начало спектакля.
  3. 🛠 Главное 🛠 : боты должны читать с текста пьесы, который дается актёрам на читке современной драматургии. Текст никак не модифицируется или не размечается специально.

“В мире бомжей”

В качестве основы использована наша с Юлей Гончар (fb) пьеса на основе интервью “В мире бомжей” (2015 и 2016 годов) с которой давно хочу что-то еще сделать.

Проект начинался с идеи-вопроса “что думают самые неуспешные о успехе” и трансформировался в некий опросник, который мы использовали в Украине, Германии и Британии.

Image for post
Image for post
документ на гугл https://docs.google.com/

Это документальный театр. Три истории трех конкретных людей, которых мы нашли непосредственно на улице. В тексте они переплетены и соединены вымышленным персонажем — актером Сашей. Так можно заметить и сходства и различия. И проследить личные линии истории.


Реализация

Изначально, как аналогия модели спектакля, видел что это будет непрерывное общение ботов где-то час — старт и до конца, но Гугл скрипт сервис так устроен что не может работать дольше 6 минут.

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

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

Я еще думал команды старт-стоп или бысрее-медленее вариант, но поскольку это коллективные усилия, чтобы не началось перетягивание и прочий хаус, решил что нет. Будет что-то вроде спринта, кто первый после паузы в чат написал “дальше”, тот всё и продолжил.

Image for post
Image for post
Image for post
Image for post

Остановки и запуски маркируются тегами (#начли, #пауза, #продолжили) так что легко перемещаться по ним с помощью поиска.

  • Ботов в телеграме создал через специального бота-отца. 4 шт вручную каждого. Сделал чат, добавил туда ботов. Сашу_бота админом
  • Документ с текстом пьесы загрузил в гугл.документы
  • За взаимодействие ботов с документом отвечает скрипт (платформа: google app script) на языке Javascript на который приходит ответ webhook от каждого из 4 ботов.
  • В тексте (см скрин выше) есть имена персонажей (САША. реплика) и указания актерам вроде ((улыбается)) — скрипт разбирает реплики на ботов и заменяет ремарки-указания на смайлы вроде 😊 — чуть ниже есть картинка пример.
Image for post
Image for post
я решил еще спец эмоджи 💬 помечать реплики от ботов, чтобы люди в чате не путались

Скрипт помнит номер строки из документа и по одной закидывает реплику в чат через того бота чья она. Делает перед этим паузу, которая зависит от длинны реплики и посылает в чат “печатаю”.


Усложнение №1 с тем, что в чатах люди не говорят длинными репликами, в среднем как я посмотрел другие чаты уже больше 240 символов мало кто постит (разве что анонсы, но то другой тип коммуникации).

Image for post
Image for post
Таймлайн длины реплики в символах (слево начала пьесы, справа — конец). В изначальной пьесе длинна реплик от начала до конца разная. В кульминации говорили длинными монологами.

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

Image for post
Image for post
фрагмент скрипта, который обрезает имя персонажа и подменяет ремарки на смайлы

Усложнение №2. В истории чата — если его сделать не приватным, а публичным — видно прошлые разы запуска и так теряется радость что они разговаривают здесь и сейчас. Чтобы это избежать я решил “сжигать” прошлые сообщения. Сначала я просто их удалял, но это неприятно и неприкольно.

Image for post
Image for post

Тут пришлось к сожалению уже сохранять в доп таблицу id сообщений, кем были посланы и вообще мне это решение не кажется элегантным, но прикольно в момент запуска “огня” прокручивать вверх и видеть как в чате одно за другим сообщение становится огнем :)

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

Вроде всё.

🏆🍩⚡️👍


💡Смысл

Кроме того, что это искусство :) мне интересно перенести театральный формат в нетеатральный контекст и современность.

Сейчас проекты вроде 1968.digital исследуют какими новыми средствами можно доносить документальные истории нам. Мир уже изменился, люди из книг и tv перешли в соцленты и идут в IM.

Image for post
Image for post

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

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

Можно отделить работу профессионального драматурга, сценариста от технических подробностей. Тот напишет в обычный текстовой документ на какие ключевые слова, какие диалоги должны следовать. Так можно продумать достаточно сложную и многодневную постановку. Мы можем превратить чат в подобие сериала. 🙈


В этом примере, поскольку пьеса писалась без задней мысли и для актеров, она состоит только из текста, но боты легко могут постить и линки и картинки и ютуб ролики. Мы можем вынести постановку за границы чата и наделать дополнительно контента, разбросав его по сети и собрав в момент “пьесы”. Мы можем использовать GPS локацию.

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

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

🔗 Адрес проекта https://t.me/v_mire_bomjei

а я открыт предложениям в tg на dan_voronov

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store