Страница 1 из 1

Eggdrop + UTF-8

СообщениеДобавлено: 20 июн 2010 22:13
tvrsh
Чтобы заставить бота говорить и понимать UTF-8 нам понадобится выполнить несколько шагов.

Шаг 1.
В исходниках бота откройте файл eggdrop1.6.20/src/main.h
Найдите в нем следующие строки:
#if (((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 1)) || (TCL_MAJOR_VERSION > 8))
#  define USE_TCL_BYTE_ARRAYS
#  define USE_TCL_ENCODING
#endif
и замените их на
#if (((TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 1)) || (TCL_MAJOR_VERSION > 8))
#  undef USE_TCL_BYTE_ARRAYS
#  define USE_TCL_ENCODING
#endif


Шаг 2.
В исходниках бота откройте файл eggdrop1.6.20/src/tcl.c
Найдите в нем строки
if (encoding == NULL) {
  encoding = "iso8859-1";
}
и сразу после них вставьте следующую строку:
encoding = "utf-8";


Шаг 3.

Перекомпилируйте заново бота.

Внимание, это не позволяет боту заходить и находиться на utf-8 каналах.
Как исправить смотрите тут: http://forum.egghelp.org/viewtopic.php?p=93395#93395

Взято тут: http://eggwiki.org/Utf-8

Re: Eggdrop + UTF-8

СообщениеДобавлено: 12 июл 2011 13:50
wr`
а если я все это сделал,и бот перестает отвечать на команды которые ввожу на канале

Re: Eggdrop + UTF-8

СообщениеДобавлено: 12 июл 2011 14:15
tvrsh
Сажай бота на утф порт.

Re: Eggdrop + UTF-8

СообщениеДобавлено: 12 июл 2011 14:36
wr`
поставил на утф порт
•(14:32:47)• <ban> !botinfo
•(14:32:49)• <botik> botik ????????????????: 2 ????????????, 33 ??????????????.
•(14:32:49)• <botik> ????????????: ircgrinvich.ru. ?????????? ???? ??????????????: Tue Jul 12 14:33:03 MSD 2011. OS: Linux 2.6.32-314-ec2. ???????????? ????????: 1.6.20 1062000 . ???????????? tcl: 8.5.9. ??????????????????: utf-8. ??????. ??????????????????????????: 1.
•(14:32:49)• <botik> botik ???????????????????? 4176 ???? ???????????? ?? ???????????????? 5.47 ???? ?????????? ???? ??????????.

а на команды содержащие русс.яз вообще не отвечает например !список хелп

Re: Eggdrop + UTF-8

СообщениеДобавлено: 12 июл 2011 14:58
tvrsh
Скрипты сохрани в кодировке UTF-8 без BOM используя, например, Notepad++.

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 19:05
hxm
tvrsh,
у вас Eggdrop 1.6.21 с сузи патчем и с исправленным по инструкции выше UTF-8 ?
и этот бот подключается на utf-8 сервер?

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 20:55
tvrsh
Сузи патч есть. Исправления по инструкции может не быть, но скорее всего тоже есть. Подключается к утф порту.

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 21:13
hxm
tvrsh
хорошо бы написать статью по рекомендованым параметрам вашего бота.
тогда будет меньше проблем с кодировками и люди будут ставить как у вас.
потому что многие ставят и начинают путаться с сузи, утф-8, без сузи ... под какой локалью запускать и т.д.
на патченом боте по инструкции выше, по команде
.tcl encoding system
определяет
Tcl: utf-8

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

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 21:20
tvrsh
У меня так же:
<tvrsh> .tcl encoding system
<bionic> Tcl: utf-8


Добавлено спустя 3 минуты 29 секунд:
Понавыдумывали, сузи/несузи, утф/неутф. Раньше как просто было, eggdrop или windrop. И на всяких фришеллах все работало прекрасно.

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 22:01
hxm
tvrsh писал(а):Понавыдумывали, сузи/несузи, утф/неутф

согласен, но поскольку вы главный разработчик скриптов, то нам ничего не остается как ставить как у вас, и если вы поддерживаете сузи, то и мы поддерживаем :mrgreen:
а у вас есть в конфиге такое
encoding system utf-8
set irc_encoding utf-8
?

Re: Eggdrop + UTF-8

СообщениеДобавлено: 13 мар 2012 22:19
tvrsh
Нет у меня никаких лишних записей в конфиге. Все что есть я описал выше. Закончим на этом. Это тема про утф, а не про моего бота.

Re: Eggdrop + UTF-8

СообщениеДобавлено: 14 мар 2012 00:17
hxm
Ок. Но даже вот нет дистра уже готового с этими изменениями по инструкции что выше, а с сузи есть.
А патч сузи мне кажется только проблемы создает для utf-8

Re: Eggdrop + UTF-8

СообщениеДобавлено: 19 апр 2012 08:37
wr`
создал с нуля бота,сделал все выше перечисленное,есть маленькие недочеты,вот в патилайне
•(08:33:42)• <(Paul> [08:29:55] NickIdent: Идентификации РЅРёРєР°: Paul
•(08:33:43)• <(Paul> [08:29:55] Flood from @ircl***.ru! Placing on ignore!
•(08:33:43)• <(Paul> [08:29:55] NickIdent: Идентификация РЅР° РЅРёРє Paul

и при заходе на канал
•(08:33:53)• <(Paul> [08:30:06] -windows (~win@bnc.thefans.ru)- Решил(Р°) испытать СЃРІРѕР№ словарный запас, Paul? Добро пожаловать на канал #chat. Если ты здесь впервые, быстро пиши !инфо * * В текущей игре слово: !слово

что я не так сделал?

Re: Eggdrop + UTF-8

СообщениеДобавлено: 19 апр 2012 12:41
tvrsh
•(08:33:43)• <(Paul> [08:29:55] Flood from @ircl***.ru! Placing on ignore!

Твой бот начинает игнорить сервисы сети из-за большого количества нотисов от них. Надо добавить юзера с маской @ircl***.ru и дать ему флаг +f. Друзей бот не игнорит.

А про нужный порт и UTF-8 без BOM написано выше. Также и самому было бы неплохо конектится на утф порт.