ОсновноеRadiotalkПользовательское
VOC++ чаты (больше не поддерживаются)
3   •   Посмотреть все темы

Модернизация существующих файлов и модов.

 

327
Геннадий @mychatik
Скриптам чатов на движке VOC++ очень много лет.
К тому же, многие дополнительные модификации делались с перспективой дальнейшей доработки, но были заброшены авторами.
Яркий пример - моды от Pasha которые, к сожалению, не блещут компактностью, да и перфекционизмом их автор явно не страдает.
Но модов с подобным функционалом больше никто не писал, поэтому скажем "Спасибо" авторам и будем потихоньку править код.

P.S. Все публикуемые рекомендации полностью работоспособны и прошли проверку на работающем чате.

327
Геннадий @mychatik
Упрощаем мод Nagrady Pasha & Alex

Этот мод используют почти все чаты.
И в нём можно сделать часть кода компактнее.

В case "nagrads":, который вставляется в admin_work.php, находим код:

Эта информация скрыта и доступна только зарегистрированным пользователям.


И заменяем его на 2 строчки:

Эта информация скрыта и доступна только зарегистрированным пользователям.


Далее, там же ищем:

Эта информация скрыта и доступна только зарегистрированным пользователям.

И меняем это всё на:

Эта информация скрыта и доступна только зарегистрированным пользователям.


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

327
Геннадий @mychatik
ZODIAC V2.0

Автор: LML

Упрощаем скрипт штатного файла zodiac.php
Заменяем "портянку" - на 12 строк 😀

Находим в дизайне файл /zodiac.php и меняем весь код на:

Эта информация скрыта и доступна только зарегистрированным пользователям.

Если ещё нет картинки zodiac.jpg - загрузить её в папку дизайн/zodiac/



Она нужна, чтобы не показывался знак "Козерог" для тех, кто не указал дату рождения.

$signs_day - массив чисел, соответствующих последнему дню действия предшествующего знака:

Козерог - с 22 декабря по 20 января
Водолей - с 21 января по 20 февраля
Рыбы - с 21 февраля по 20 марта
Овен - с 21 марта по 20 апреля
Телец - с 21 апреля по 20 мая
Близнецы - с 21 мая по 21 июня
Рак - с 22 июня по 22 июля
Лев - с 23 июля по 23 августа
Дева - с 24 августа по 23 сентября
Весы - с 24 сентября по 23 октября
Скорпион - с 24 октября по 22 ноября
Стрелец - с 23 ноября по 21 декабря

327
Геннадий @mychatik
Викторина и Градиентный текст

Из-за особенностей раскраски градиентом букв сообщений, викторина не принимает такие ответы.

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

Сделано это так:
Эта информация скрыта и доступна только зарегистрированным пользователям.

После этого викторина стала принимать ответы, написанные градиентным текстом.

Только непонятно, зачем всё так усложнили?
Зачем использовать регулярки, замедляющие работу скрипта, когда есть функция strip_tags(), удаляющая из строки все HTML и PHP теги?

Модернизируем этот фикс:
Эта информация скрыта и доступна только зарегистрированным пользователям.


Плюсы данной модернизации:
1. Значительное сокращение объёма логов чата за счёт прекращения дублирования текста.
2. Отсутствие дублирования текста при копировании сообщений с градиентной раскраской.
3. Возможное ускорение приёма ответов самой викториной (не проверял).

327
Геннадий @mychatik
В течении нескольких лет я "издевался" над чатовским ботом и, можно сказать, вторая версия JJBot'а есть!
"Падонкаффская" ЖЖ-шная тематика из него практически ушла и он стал обычным чат-ботом (с остатками ЖЖ-шного сленга), мало отличимым (по крайней мере, внешне) от обычного посетителя чата.

JJBot v2.0. Какие изменения:
1.
Оригинальный plugin.php изменён кардинально. Из него также убраны все массивы с репликами бота.
2. Изменена структура "мозгов" бота. Идиотский алгоритм выбора каждой(!) реплики через if-else-strpos убран. Теперь все его фразы хранятся не в массивах скрипта plugin.php, а в отдельных текстовых файлах. В итоге, загружать и редактировать реплики сможет любой администратор чата, даже не разбирающийся в программировании. Это позволило упростить "обучение" бота, так как теперь не нужно, для изменения каждой реплики, лезть редактировать скрипт, рискуя при этом потерять, либо вставить лишнюю скобку, кавычку или запятую, тем самым "положить" чат. Теперь не нужно и контролировать, кавычки какого типа стоят в фразах. Можно писать всё, что угодно. Случайно возникшие ошибки редактирования могут привести максимум к тому, что бот эту фразу не будет произносить, либо будет отвечать невпопад.
3. Увеличена вариантность ответов бота. Теперь нет жёсткой связки "одна фраза - только один ответ". Бот может "выбирать" между вариантами написания фраз и вариантами ответов на них. Т.е., на одну и ту же фразу пользователя могут быть даны разные ответы и, наоборот, один и тот же ответ может быть дан на разные фразы собеседника.
4. Модернизированная функция рассказчика анекдотов была уже реализована раньше.
5. Кроме анекдотов, бот умеет теперь выдавать афоризмы и цитаты.
6. Реализована функция "календаря". Бот работает с датой - может сказать "который час", какое сегодня число, какой год и т.д.
7. Бот теперь может поиграть с пользователями в "угадай число".
8. Бот теперь умеет "вставлять" смайлы из чатовского набора в свои ответы. Также легко обучается и "понимать" смайлы, адресуемые к нему. Но для каждого чата, эту функцию нужно будет адаптировать, согласно кодировке смайлов в конкретном чате.
9. Если смайлов недостаточно, бот может "вставлять" и картинки, которые грузятся ему в отдельную папку. Также он понимает, что в сообщении для него была отправлена картинка.
10. Бот умеет отличать текст, полностью написанный КАПСОМ, от обычного сообщения и реагировать на него. Разрешённое количество прописных букв устанавливается в config.php.
11. Если пользователь станет писать боту подряд одну и ту же фразу (флуд), то бот тоже будет реагировать на это.
12. Также бот реагирует отдельными фразами на чрезмерную длину сообщений пользователя. Предел, после которого сообщения будут считаться "длинными", устанавливается в config.php.
13. Бот теперь понимает не только конкретное обращение к нему и приветствие, направленное ко ВСЕМ, но и обращение к ДЕВУШКАМ (ну "дама" она у нас в чате :) ). При необходимости меняем на любую другую категорию из списка пользователей.
14. Бот реагирует фразами на упоминание своего ника в чужих диалогах и фразах, НЕ адресованных конкретно ему.
15. В список, рядом с ником бота, можно вывесить все "регалии", какие есть у обычного пользователя - ВИП, амулеты, кольца и т.д. В каждой комнате, у другого бота, они могут быть разными.
16. Каждому боту, в каждой комнате, можно установить свой Х-Статус и фотография в нём выводится автоматически. Если вы, конечно, создали боту профиль, присвоили ID и загрузили ему фото.
17. Боту можно установить графический ник и в список, и в сообщения (при необходимости - только в список, или только в сообщения). Причём, в разных комнатах, если разные имена ботов - то и графники будут разными. Если у пользователя отключены смайлы - графник бота показываться НЕ будет.

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

Если есть вопросы, или желающие приобрести новую версию JJBot v2.0 для своего чата, тем самым поддержать его дальнейшее развитие, либо обменяться работающими идеями улучшения функционала бота - пишите. Всё обсудим и договоримся :)