Телеграм-бот обратной связи для CinemaPress (Жалоба, Не тот фильм, Контакты, и т.п.)

Регистрация
20 Дек 2017
Сообщения
7
#1

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

При появлении всех новых функций, первое что Вы делаете, это обновляете систему на последнюю версию:

cinemapress upd && cinemapress update

  • Создаете нового бота в @BotFather
newBot.png

  • Придумываете название, логин и получаете API TOKEN
api_key.png

  • Вставляете полученный TOKEN в /routes/telegram.js
token.png

  • Запускаете Вашего бота в телеграм и получаете ID чата
chat_id.png

  • Вписываете ID чата в параметр CHAT_ID в /routes/telegram.js
token.png

  • Вставляете css/js в вниз Вашего шаблона /themes/шаблон/views/includes/footer.ejs
HTML:
<!-- Вствить в вниз шаблона /themes/шаблон/views/includes/footer.ejs -->
<link href="/telegram/style.css?v=<%- page.ver %>" rel="stylesheet"/>
<script src="/telegram/script.js?v=<%- page.ver %>"></script>
<script src="/telegram/rand.js?v=<%- Math.random() %>"></script>
  • Добавляете кнопку в любое место в шаблоне, например под плеер в movie.ejs
HTML:
<a
   href="javascript:void(0)"
   class="cinemaButton"
   data-cinema-text="В плеере показывается не тот фильм.\n\n<%- movie.url %>">
    Не тот фильм!
</a>
Теперь при отправке сообщения от пользователей, Вы получите в Телеграм оповещение.

supportalert.png
Параметры кнопки:
  • Обязательный класс cinemaButton
  • Предустановленный текст data-cinema-text=""
  • Если нет предустановленного текста, будет чистая форма
Вы можете сделать несколько кнопок, в каждой будет предустановленный текст, который решает конкретную проблему:
  • В плеере не тот фильм
  • В плеере ошибка
  • Жалоба на фильм
  • Связь с администрацией
  • и т.п.
Чтобы Ваши изменения TOKEN и CHAT_ID не сбрасывались после каждого обновления системы, Вы можете скопировать файл /routes/telegram.js в /config/custom/routes/telegram.js
 
Енот
Новичо́к, через «о́»
Регистрация
24 Май 2020
Сообщения
79
#2
Отлично всё работает. Но как изменить размеры. На телефоне не адаптируются?
 

Вложения

Енот
Новичо́к, через «о́»
Регистрация
24 Май 2020
Сообщения
79
#3
Как вставит выше плеера в правую строну, я ее поставил выше Player_ID, но он не хочет стоять на правую строну. (На картинке стоить внизу Player_ID знаю)

1590714978316.png
 
Новичо́к, через «о́»
Регистрация
30 Апр 2020
Сообщения
24
#4
не понял как получить чат ID
добавил все как написано на сайте при нажатие на кнопку выходит это ,куки вкл.

1590728158755.png
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#5
не понял как получить чат ID
добавил все как написано на сайте при нажатие на кнопку выходит это ,куки вкл. Посмотреть вложение 3706
Чат id можно получить написав своему созданному боту он выдаст цифры,ток у меня такая же история включите куки и обновите страницу как решить?
 
Новичо́к, через «о́»
Регистрация
30 Апр 2020
Сообщения
24
#6
Чат id можно получить написав своему созданному боту он выдаст цифры,ток у меня такая же история включите куки и обновите страницу как решить?
написал боту бот молчит,куки включены я же написал.
я так понимаю в мобильной версии кнопка не работает совсем?
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#7
написал боту бот молчит,куки включены я же написал.
я так понимаю в мобильной версии кнопка не работает совсем?
По идее должна работать,у меня тоже проблема с куки,ждём что @Alisa ответит
 
Енот
Новичо́к, через «о́»
Регистрация
28 Апр 2020
Сообщения
53
#9
И у меня такая проблема с куки.
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#15
@Alisa, подскажите пожалуйста как решить проблему с куки?просит включить куки и перезагрузить страницу
 
Регистрация
15 Дек 2017
Сообщения
5,067
#16
@Alisa, подскажите пожалуйста как решить проблему с куки?просит включить куки и перезагрузить страницу
Значит у Вас не подгружается этот скрипт:
<script src="/telegram/rand.js?v=<%- Math.random() %>"></script>
 
Енот
Новичо́к, через «о́»
Регистрация
24 Май 2020
Сообщения
79
#17
Как вставит выше плеера в правую строну, я ее поставил выше Player_ID, но он не хочет стоять на правую строну. (На картинке стоить внизу Player_ID знаю)

Посмотреть вложение 3705
????

Отлично всё работает. Но как изменить размеры. На телефоне не адаптируются?
Сидел ждал тебя целый день. @Alisa
 
Енот
Новичо́к, через «о́»
Регистрация
24 Май 2020
Сообщения
79
#21
Вопрос был как изменить размеры
 
Новичо́к, через «о́»
Регистрация
25 Май 2020
Сообщения
39
#22
Почему то не наблюдаю после обновления файла telegram.js. Ткните носом что делаю не так?
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#23
Значит у Вас не подгружается этот скрипт:
<script src="/telegram/rand.js?v=<%- Math.random() %>"></script>
так я по инструкции обновил систему и сделал все по шагово, проблема наблюдается не только у меня
 
Регистрация
15 Дек 2017
Сообщения
5,067
#28
Вопрос был как изменить размеры
Все стили в файле telegram.js, можете их менять.

1590846587964.png

так я по инструкции обновил систему и сделал все по шагово, проблема наблюдается не только у меня
Откройте в браузере файл сайт.com/telegram/script.js, он у Вас есть?
 
Новичо́к, через «о́»
Регистрация
30 Апр 2020
Сообщения
24
#29
проблема с куками все еще актуальная
вообщем если открыть вкладку https://site.com/telegram/rand.js?v и обновлять страницу пока не будут точно такие цифры что в форме (под фильмом) нечего не происходит, только цифры совпали и сообщение отправляется в телеграмм.
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#30
Новичо́к, через «о́»
Регистрация
25 Май 2020
Сообщения
39
#31
Screenshot_1.png

Так же ошибка. Подскажите как бороться. Все заполнено
 
Новичо́к, через «о́»
Регистрация
30 Апр 2020
Сообщения
24
#32
Регистрация
15 Дек 2017
Сообщения
5,067
#37
Что-то блокирует запросы, скорее всего какое-то расширение для браузера или антивирус при виде в ссылке название telegram.

Отключите по одному расширения и антивирус.
 
Новичо́к, через «о́»
Регистрация
25 Май 2020
Сообщения
39
#38
Что-то блокирует запросы, скорее всего какое-то расширение для браузера или антивирус при виде в ссылке название telegram.

Отключите по одному расширения и антивирус.
Ну у меня телеграм не забанен. + Антивирусом и расширениями не пользуюсь,кроме автозаполнения инфы фильмов. Ошибка с id вылетает как с телефона так и с ПК,ноутбука
 
Енот
Новичо́к, через «о́»
Регистрация
19 Апр 2020
Сообщения
325
#39
Что-то блокирует запросы, скорее всего какое-то расширение для браузера или антивирус при виде в ссылке название telegram.

Отключите по одному расширения и антивирус.
я через телефон тоже попробовал толку нет,что только уже не перепробовал,кто нибудь решил данную проблему?
 
Новичо́к, через «о́»
Регистрация
17 Май 2020
Сообщения
10
#40
Окно чата выподает . Но,нет капчи и кнопка отправить не реагирует в Чат-бот для Telegram. Сделал все как положено.
 
Регистрация
15 Дек 2017
Сообщения
5,067
#41
Выполните обновление системы и очистите Ваши старые cookies в браузере.
Была протестирована отправка на разных браузерах, везде работает исправно.
 
Енот
Новичо́к, через «о́»
Регистрация
29 Сен 2019
Сообщения
301
#43

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

При появлении всех новых функций, первое что Вы делаете, это обновляете систему на последнюю версию:

cinemapress upd && cinemapress update

  • Создаете нового бота в @BotFather

  • Придумываете название, логин и получаете API TOKEN

  • Вставляете полученный TOKEN в /routes/telegram.js

  • Запускаете Вашего бота в телеграм и получаете ID чата

  • Вписываете ID чата в параметр CHAT_ID в /routes/telegram.js

  • Вставляете css/js в вниз Вашего шаблона /themes/шаблон/views/includes/footer.ejs
HTML:
<!-- Вствить в вниз шаблона /themes/шаблон/views/includes/footer.ejs -->
<link href="/telegram/style.css?v=<%- page.ver %>" rel="stylesheet"/>
<script src="/telegram/script.js?v=<%- page.ver %>"></script>
<script src="/telegram/rand.js?v=<%- Math.random() %>"></script>
  • Добавляете кнопку в любое место в шаблоне, например под плеер в movie.ejs
HTML:
<a
   href="javascript:void(0)"
   class="cinemaButton"
   data-cinema-text="В плеере показывается не тот фильм.\n\n<%- movie.url %>">
    Не тот фильм!
</a>
Теперь при отправке сообщения от пользователей, Вы получите в Телеграм оповещение.

Параметры кнопки:
  • Обязательный класс cinemaButton
  • Предустановленный текст data-cinema-text=""
  • Если нет предустановленного текста, будет чистая форма
Вы можете сделать несколько кнопок, в каждой будет предустановленный текст, который решает конкретную проблему:
  • В плеере не тот фильм
  • В плеере ошибка
  • Жалоба на фильм
  • Связь с администрацией
  • и т.п.
Чтобы Ваши изменения TOKEN и CHAT_ID не сбрасывались после каждого обновления системы, Вы можете скопировать файл /routes/telegram.js в /config/custom/routes/telegram.js
Алиса, что-то кнопка не появляется. Все сделал как в инструкции. Может не туда HTML коды добавляю. Шаблон robb
 
Енот
Новичо́к, через «о́»
Регистрация
18 Янв 2021
Сообщения
88
#46
Я бы тоже бота вставил но страшно что то прописывать, есть более простой способ? Просто скопировать и вставить?
 
Енот
Новичо́к, через «о́»
Регистрация
26 Авг 2018
Сообщения
495
#48
Перенес шаблон десктопа в мобилку по этой инструкции и заметил что кнопка "Не тот фильм" которая на десктопной версии работает исправно на мобилке при нажатии ничего не выводит, вроде все согласно инструкции в этой теме, но не работает :confused: хз что не хватает пути к JS уже перепроверил все гуд, как проверить почему скрипт не вызывается или не отрабатывает??
 
Енот
Новичо́к, через «о́»
Регистрация
26 Авг 2018
Сообщения
495
#50
Смотрите Console браузера и Network вкладки.
В одном могут быть ошибки, и видеть куда идёт запрос.
Помоги пожалуйста подправить,
Screenshot_2.png

не отрабатывают эти скрипты
Screenshot_3.png

На Десктопе все работает а на мобилке эти же скрипты отдают 404 :unsure:
 
Регистрация
15 Дек 2017
Сообщения
5,067
#51
На Десктопе все работает а на мобилке эти же скрипты отдают 404 :unsure:
Чтобы скрипт получался с мобильной версии, нужно в app.js:
  • app.use('/telegram', telegram);
заменить на:
  • app.use(/^(?:\/mobile-version|\/tv-version|)?\/telegram/, telegram);
 
Енот
Новичо́к, через «о́»
Регистрация
26 Авг 2018
Сообщения
495
#52
Последнее время я стал получать большое кол-во сообщений
Screenshot_3.png
Проверил, плеер исправно работает, но месседжи время от времени прилетают, проверяю, все в норме (пользователи просто тыкают на кнопку не тот фильм и не пишут сообщение, вероятно не видят textarea)
Переписал код формы обратной связи
1)
Добавил
  • поле ввода имени отправителя, для удобства обращения при обратной связи.
  • поле ввода email для обратной связи.
2) Изменил градиент поля ввода сообщения может теперь пользователи будут его замечать.
3) Убрал из поля ввода сообщения адрес страницы

  • Обязательный класс cinemaButton
  • Предустановленный текст data-cinema-text=""
  • Если нет предустановленного текста, будет чистая форма
Образец (передача URL страницы откуда отправляется сообщение):
Код:
<a href="javascript:void(0);" id="watchLater" style="width: 100%;font-size: 16px"
    class="cinemaButton"
    data-cinema-text="<%- movie.url %>">
    <span>Техподдержка</span>
</a>


Пример пустой формы:
форма.png

Пример заполненной формы:
заполненая форма.png

Пример сообщения в Telegram:
месседж.png

Для того что бы получать такие же сообщения, замените код в файле /routes/telegram.js на тот что в файле telegram.txt (он во вложении)
НЕ ЗАБУДЬТЕ указать TOKEN и CHAT_ID

Чтобы Ваши изменения не сбрасывались после каждого обновления системы, Вы можете скопировать файл /routes/telegram.js в /config/custom/routes/telegram.js
 

Вложения

Последнее редактирование:
Енот
Новичо́к, через «о́»
Регистрация
26 Авг 2018
Сообщения
495
#53
Если тут есть те кто знакомы с JS :geek:, то я был бы благодарен :coffee: за помощь в прикручивании функции проверки email, и было бы отлично заставить должным образом работать вот эту часть кода
JavaScript:
      "    divCinemaModalUserName.setAttribute('type','name');\n" +
      "    divCinemaModalUserName.setAttribute('autocomplete', 'on');\n" +
      "    divCinemaModalUserName.setAttribute('required', 'required');\n" +

      "    divCinemaModalMail.setAttribute('pattern', '/\S+@\S+\.\S+/');\n" +
      "    divCinemaModalMail.setAttribute('type','email');\n" +
      "    divCinemaModalMail.setAttribute('autocomplete', 'on');\n" +
      "    divCinemaModalMail.setAttribute('required', 'required');\n" +
JavaScript:
function validateEmail(email) {
  var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
  return re.test(String(email).toLowerCase());
};
 
Последнее редактирование:

end

Новичо́к, через «о́»
Регистрация
27 Ноя 2021
Сообщения
1
#54
Если тут есть те кто знакомы с JS :geek:, то я был бы благодарен :coffee: за помощь в прикручивании функции проверки email, и было бы отлично заставить должным образом работать вот эту часть кода
JavaScript:
      "    divCinemaModalUserName.setAttribute('type','name');\n" +
      "    divCinemaModalUserName.setAttribute('autocomplete', 'on');\n" +
      "    divCinemaModalUserName.setAttribute('required', 'required');\n" +

      "    divCinemaModalMail.setAttribute('pattern', '/\S+@\S+\.\S+/');\n" +
      "    divCinemaModalMail.setAttribute('type','email');\n" +
      "    divCinemaModalMail.setAttribute('autocomplete', 'on');\n" +
      "    divCinemaModalMail.setAttribute('required', 'required');\n" +
JavaScript:
function validateEmail(email) {
  var re = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
  return re.test(String(email).toLowerCase());
};
регулярка для этого зло, но могу попробовать сделать, если актуально - в лс!