myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему

> AJAX Chat sync 2.0.3, API2 | Синхронизация с веб-чатом

Рейтинг 5 V
Теги
Нет тегов для показа
deseven
сообщение 18.5.2011, 23:21
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




Информация:
Простое решение для синхронизации PtokaX и AJAX Chat.

Требования:
- AJAX Chat (любая версия, пока структура таблицы ajax_chat_messages остается прежней)
- luasql.mysql (либы под винду)

Установка:
Прежде всего отредактируйте настройки в скрипте, в соответствии с вашими потребностями.
Для корректной работы с русским языком требуется в конфиг mysql (my.cnf либо my.ini) в секцию [mysqld] добавить следующие параметры:
Код
character-set-server=utf8
skip-character-set-client-handshake

Запустите скрипт из PtokaX. Все должно работать, но не забудьте на всякий пожарный проверить script.log на наличие ошибок.

Примечания:
- скрипт рекомендуется запускать перед всеми остальными скриптами, порядок загрузки можно изменить в конфиге scripts.xml
- если lua 5.1 собран с флагом LUA_COMPAT_GFIND, то возможно потребуется раскомментировать строку 56 и закомментировать строку 57
- система банов в скрипте на данный момент проверяет бан при каждом сообщении непосредственно через mysql, в некоторых случаях это может создать повышенную нагрузку на сервер и задержку при отправлении сообщений. Я лично не наблюдаю особой нагрузки у себя, но тем не менее по умолчанию система банов в скрипте отключена
- если вы баните юзера с хаба - AJAX Chat не применит этот бан моментально - только когда юзер снова залогинится. Это его дефолтное поведение. Желающие могут изменить его немного пошаманив с исходниками, подробнее тут (простите, на русский перевести нет времени)

Известные баги:
- нет вменяемой обработки mysql-ошибок, сделаю как будет время

Скрипт:
Прикрепленный файл  ajaxchatsync_ru.zip ( 3.02 килобайт ) Кол-во скачиваний: 71


Проверено на Fedora 14, lua 5.1.4, luasql 2.1.1 под PtokaX 0.4.1.2 с 300+ юзерами.

P.S. Знатокам lua просьба глянуть исходники. Это мое первое поделие на lua и возможно кое-какие вещи я делаю не особо правильно big_smile.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 19.5.2011, 0:38
Сообщение #2


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




И всё же лучше файл прикрепить через аттач!
Тут так принято.
Go to the top of the page
+Quote Post
deseven
сообщение 19.5.2011, 9:26
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




ок, перевел заодно
Go to the top of the page
+Quote Post
Saymon21
сообщение 19.5.2011, 12:21
Сообщение #4


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Цитата
- AJAX Chat (любая версия, пока структура таблицы ajax_chat_messages остается прежней)
- luasql.mysql


Или http://mydc.ru/topic1508.html
Go to the top of the page
+Quote Post
deseven
сообщение 28.5.2011, 0:41
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




2.0.2
- добавлено экранирование при отправке обратного слеша
- поправлена обработка личных сообщений из AJAXChat
Go to the top of the page
+Quote Post
Pasag
сообщение 18.8.2011, 17:45
Сообщение #6


Абсолютный новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 28.3.2010
Пользователь №: 6 487
Спасибо сказали: 0 раз




поставил, у меня почему то написанное в ajaxe на русском языке на хабе отображается вопросами (??? ??) и обратно в Ajax не идут сообщения. подскажите что сделать?
Go to the top of the page
+Quote Post
deseven
сообщение 20.8.2011, 13:57
Сообщение #7


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




Какие кодировки в птоке и в БД AJAXChat?
Версия mysql?
Go to the top of the page
+Quote Post
Pasag
сообщение 25.8.2011, 12:30
Сообщение #8


Абсолютный новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 28.3.2010
Пользователь №: 6 487
Спасибо сказали: 0 раз




версия MySql 5.5 в бд стоит cp1251 а в Ajax utf8
Go to the top of the page
+Quote Post
deseven
сообщение 26.8.2011, 3:42
Сообщение #9


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




Не понял где какая кодировка. В какой бд?
Предполагая что в птоке таки 1251, а у аякс чата утф8 могу только предположить, что косяк с конфигом mysql.

Попробуй 71 строку заменить на
Код
local Query = "set names utf8; select id,convert(userName using "..PtokaXCodepage..") as userName,convert(text using "..PtokaXCodepage..") as text from ajax_chat_messages where id > "..LastMsgID.." and userID != 50000 and userID != 2147483647 order by id;"


Насчет обратного процесса - что в script.log?
Что будет если вручную в mysql сделать такой запрос?
Код
insert into ajax_chat_messages (userName,dateTime,text,userID) values ('test',now(),'тест','50000')
Go to the top of the page
+Quote Post
demondroid
сообщение 28.8.2011, 23:40
Сообщение #10


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 28.10.2009
Пользователь №: 4 843
Спасибо сказали: 1 раз




кстати надо бы и антирекламу сюда прикрутить ато появится много деятелей которые чесез чат с сайта будут рекламу кидать!!!
Go to the top of the page
+Quote Post
deseven
сообщение 29.8.2011, 3:45
Сообщение #11


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




Мне без надобности.
Кроме того, это надо делать со стороны чата на сайте, а не на хабе, иначе смысл нулевой. Если нужно просто блокировать определенные слова то у аякс-чата было что-то встроенное для этого.
Go to the top of the page
+Quote Post
fmit
сообщение 26.12.2011, 16:29
Сообщение #12


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 3.3.2010
Пользователь №: 6 245
Спасибо сказали: 1 раз




Не подскажите где поправить в скрипте,чтобы визуально разграничить пользователей хаба и допустим форума ... ну например
----[хаб]test1: привет
----[форум]test2: привет
Go to the top of the page
+Quote Post
deseven
сообщение 27.12.2011, 4:21
Сообщение #13


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




строка 84, замени на
Код
Core.SendToAll("<[форум]"..row.userName.."> "..row.text)


строка 349, замени на
Код
local Query = "insert into ajax_chat_messages (userName,dateTime,text,userID) values (convert(_"..PtokaXCodepage.."'[хаб]"..nick.."' using "..AJAXChatCodepage.."),'"..when.."','"..chat.."','50000')"


Спасибо сказали:
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 3.5.2012, 21:51
Сообщение #14


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Доброго времени суток, очень охото заиметь такой работающий webchat но к сожалению в логе ошибок выводит вот это:
лог ошибки
Код
03.05.2012 22:32:05 - /var/ptokax/scripts/ajaxchatsync-ru.lua:176: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_bans' doesn't exist
03.05.2012 22:32:08 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:11 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:14 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:17 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:19 - /var/ptokax/scripts/ajaxchatsync-ru.lua:311: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_bans' doesn't exist
03.05.2012 22:32:20 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:23 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:26 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:29 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:32 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist
03.05.2012 22:32:33 - /var/ptokax/scripts/ajaxchatsync-ru.lua:311: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_bans' doesn't exist
03.05.2012 22:32:35 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: Table 'ajaxchat.ajax_chat_messages' doesn't exist


Наглухо виснет mysql, пароль даже не принимает.

ptokax 4.1.2
oc debian 6
phpbb3
ajax 0.8.5
Go to the top of the page
+Quote Post
deseven
сообщение 4.5.2012, 22:23
Сообщение #15


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




в указанной БД отсутствуют таблицы ajax-чата
сам чат то каким макаром работает?
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 5.5.2012, 6:17
Сообщение #16


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Цитата(deseven @ 4.5.2012, 23:23) *
в указанной БД отсутствуют таблицы ajax-чата
сам чат то каким макаром работает?

http://forum.kcahdep.ru/chat/ вот так работает...
Так бд с именем указанным в скрипте создал, а почему он не создает таблицы, в чем может быть причина?
Go to the top of the page
+Quote Post
deseven
сообщение 5.5.2012, 6:38
Сообщение #17


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




Стоп, у вас явное непонимание того, как оно должно работать big_smile.gif
БД создается при установке AJAX Chat, он с ней работает. Потом параметры подключения к этой же БД нужно прописать в скрипте. Сам скрипт ничего не создает.
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 5.5.2012, 22:48
Сообщение #18


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Цитата(deseven @ 5.5.2012, 7:38) *
Стоп, у вас явное непонимание того, как оно должно работать big_smile.gif
БД создается при установке AJAX Chat, он с ней работает. Потом параметры подключения к этой же БД нужно прописать в скрипте. Сам скрипт ничего не создает.

то есть в скрипте указать базу созданную чатом ajax? щаз попробую big_smile.gif

теперь другая бяда) все заработало все выводит только вот както так)) http://shot.qip.ru/008pDF-2Dbzb2qCL/ хотя кодировку проверил все верно стоит, база ajax utf8 птока cp1251...
и вот еще вопрос, скрипт должен как то считывать кто находится на хабе и выводить в список онлайн с права? и как я понял для входа в чат нужна регистрация на форуме? код что давали выше не работает, как показывает вопросами так и показывает.

в идеале заиметь бы что нибудь для общения сайт-хаб без форума и реги ))
Go to the top of the page
+Quote Post
deseven
сообщение 6.5.2012, 8:06
Сообщение #19


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 12.11.2009
Пользователь №: 5 019
Спасибо сказали: 15 раз




кажется понял, попробуйте

замените строку 71 на
Код
local Query = "set names "..PtokaXCodepage.."; select id,userName,text from ajax_chat_messages where id > "..LastMsgID.." and userID != 50000 and userID != 2147483647 order by id;"


замените строку 349 на
Код
local Query = "insert into ajax_chat_messages (userName,dateTime,text,userID) values (convert(_"..PtokaXCodepage.."'"..nick.."' using "..AJAXChatCodepage.."),'"..when.."',convert(_"..PtokaXCodepage.."'"..chat.."' using "..AJAXChatCodepage.."),'50000')"




Цитата(KCAHDEP @ 6.5.2012, 1:48) *
скрипт должен как то считывать кто находится на хабе и выводить в список онлайн с права?

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

Цитата(KCAHDEP @ 6.5.2012, 1:48) *
в идеале заиметь бы что нибудь для общения сайт-хаб без форума и реги ))

дык чат можно поставить и не интегрируя с форумом, он отлично умеет работать самостоятельно, тогда и регистрация не нужна
если все же оставлять как есть то можно разрешить вход анонимам и также разрешить им устанавливать свои ники - в конфиге чата ищите
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 6.5.2012, 21:00
Сообщение #20


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Цитата
замените строку 71 на
Код
local Query = "set names "..PtokaXCodepage.."; select id,userName,text from ajax_chat_messages where id > "..LastMsgID.." and userID != 50000 and userID != 2147483647 order by id;"


замените строку 349 на
Код
local Query = "insert into ajax_chat_messages (userName,dateTime,text,userID) values (convert(_"..PtokaXCodepage.."'"..nick.."' using "..AJAXChatCodepage.."),'"..when.."',convert(_"..PtokaXCodepage.."'"..chat.."' using "..AJAXChatCodepage.."),'50000')"

Помогло но не до конца...С хаба в чат все на родном русском кажет, с чата в хаб просто не проходят сообщения, и через несколько минут в чате появляется сообщение
Код
(21:47:21) ChatBot: Ошибка: Статус соединения: 503

при повторном заходе в чат выдает
Код
General Error
SQL ERROR [ mysqli ]

Too many connections [1040]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

В логе хаба
Код
06.05.2012 21:33:28 - /var/ptokax/scripts/ajaxchatsync-ru.lua:73: LuaSQL: Error executing query. MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select id,userName,text from ajax_chat_messages where id > 302 and userID != 500' at line 1



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

Просто не видно же кто на хабе пока не напишет сообщение. Очень хотелось вы увидеть вариант скрипта со списком пользователей ))


Цитата
дык чат можно поставить и не интегрируя с форумом, он отлично умеет работать самостоятельно, тогда и регистрация не нужна
если все же оставлять как есть то можно разрешить вход анонимам и также разрешить им устанавливать свои ники - в конфиге чата ищите

Очень приятная новость, я увидел на сайте ajax только варианты под форумы, удалю попробую голый чат.
Спасибо за очень полезный скрипт, надеюсь вы добьетесь, что бы он у меня заработал)
Go to the top of the page
+Quote Post

3 страниц V   1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsChat History On Entry
API2
12 Артём 23 154 15.2.2014, 13:51 Посл. сообщение: Alexey
No New Posts Topic has attachmentsDefend Chat
API 2 | Полностью автоматическая защита чата от спама
5 Enyby 8 460 2.3.2012, 16:57 Посл. сообщение: Enyby
No New Posts Topic has attachmentsDefend Chat, RusHub edition
Полностью автоматическая защита чата от спама
1 Enyby 6 500 2.3.2012, 6:29 Посл. сообщение: ShadoWx
No New Posts Topic has attachmentsStatPX Lite 1 Beta ajax
2 sandoric1 7 918 14.8.2011, 0:26 Посл. сообщение: CrazyKiller
No New Posts Topic has attachmentschat-pm-blok
1 Vizunchik 7 002 25.6.2011, 11:47 Посл. сообщение: Jarkrait
No New Posts Topic has attachmentsChat History On Entry
API2
2 Артём 6 780 15.12.2010, 22:18 Посл. сообщение: Артём
No New Posts От: Chat History
От темы с ID: 2343
1 absent 4 317 15.12.2010, 21:52 Посл. сообщение: Артём
No New Posts От: Chat History On Entry
От темы с ID: 3870
0 Dimon21 4 902 14.9.2010, 21:39 Посл. сообщение: Dimon21
No New Posts Topic has attachmentsChat History
API2 | Вывод последних n сообщений и все
7 Stym 14 357 14.9.2010, 13:10 Посл. сообщение: Артём
No New Posts От: Chat History
От темы с ID: 3749
1 -Alex- 5 849 14.9.2010, 11:43 Посл. сообщение: Setuper
No New Posts Topic has attachmentsChat History
Eximius
0 Артём 6 138 7.8.2010, 15:31 Посл. сообщение: Артём
No New Posts Topic has attachmentsWeb Chat
Eximius
0 Артём 6 084 7.8.2010, 14:10 Посл. сообщение: Артём
No New Posts Topic has attachmentschat detector
1 *FoxMalder* 6 522 13.3.2010, 21:58 Посл. сообщение: Nickolya
No New Posts Помогите как настроить скрипт Chat History
4 PSIX 11 801 27.6.2009, 23:57 Посл. сообщение: Wariner
No New Posts Topic has attachmentsTemporary Chat Blocker
API1, API2 | Написан по запросу
13 district 17 917 15.6.2009, 17:18 Посл. сообщение: King

 



RSS Сейчас: 23.11.2024, 2:19