Quiz Memorial Forum

Welcome Guest ( Log In | Register )

2 Pages V  1 2 >  
Reply to this topicStart new topic
> bash.org.ru.tcl v(x)0.2, parser
Kreon
post Jun 29 2007, 06:00 PM
Post #1


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Скрипт для отображения цитат с bash.org.ru, переписанный с использованием egglib_pub.

Команды:
  • !bash - выбор произвольной цитаты
  • !bash <номер> - просмотр цитаты с заданным номером
  • !bash <слова> - поиск номеров цитат с заданными словами
Разнообразные настройки, поддержка прокси, пропуск цитат в форме рекламы, пропуск длинных цитат в рандомизаторе и вывод их в случае номерного запроса в приват.

Список изменений:
Версия 0.2
  • Автоматический вывод цитат
    Возможность задачи нескольких каналов для автоматического вывода цитаты без запросов со стороны пользователей, индивидуальные настройки периодичности вывода для каждого канала, работа посредством таймеров
  • Отображения рейтинга цитаты
  • Возможность задать минимальный рейтинг для того, чтобы цитата попала в произвольную выборку
    Следует использовать аккуратно
  • Поправлен парсинг
  • Исправлено несколько логических ошибок
  • Проверка на случаи, когда попытка считать новую цитату обламывается
  • Минимальный функционал для настройки внешнего дизайна выводимых цитат через конфиг скрипта
Версия 0.1
  • Начальный релиз
Версия 0.1 Attached File  bash.org.ru.tcl ( 8.9k ) Number of downloads: 1688
Версия 0.2 Attached File  bash.org.ru.tcl ( 11.25k ) Number of downloads: 1470
Версия 0.2fixAttached File  bash.org.ru.tcl ( 11.36k ) Number of downloads: 1394


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
username
post Sep 27 2007, 09:37 PM
Post #2


Новичок
**

Group: Members
Posts: 20
Joined: --
Member No.: 10



Заменить
CODE
    foreach line [split $data "\n"] {
        out $nick $chan $line
    }
на
CODE
    foreach line [split $data "\n"] {
    regsub -all -- "  " $line " " line
        if {$line != "" && $line != " "} {out $nick $chan $line}
    }
чтобы не выводились пустые строки в цитатах.


--------------------
Всероссийская IRC сеть IrcNet.ru
http://ircnet.su/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Nov 17 2007, 05:55 PM
Post #3


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Обновление.
Список изменений в первом сообщении темы.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
username
post Nov 25 2007, 11:51 PM
Post #4


Новичок
**

Group: Members
Posts: 20
Joined: --
Member No.: 10



В процедуру output добавил
CODE
set bor(lasttime) [clock seconds]
и дописал процедурку
CODE
bind join - * bor_join
proc bor_join {nick uhosh hand chan} {
global botnick
global bor
if {[channel get "#bash.org" nopubbor]} {
    return
}
if {$nick == $botnick} {return}
if {$chan != "#bash.org"} {return}
  if {[info exists bor(lasttime)]} {
      set btime [expr $bor(delay) - [expr [clock seconds] - $bor(lasttime)]]
      # Тут если время получилось меньше нуля то значит бот не показал цитату вовремя и говорим что сайт поломался. Не знаю, будет ли оно работать, не довелось проверить пока.
      if {[lindex [split $btime] 0] == "-"} {
      putserv "NOTICE $nick :Цитатник Рунета bash.org.ru временно недоступен."
      return
      } else {
      putserv "NOTICE $nick :Следующая bash.org.ru цитата через $btime [lindex {. секунду секунды секунд} [bor_numgrp [expr $bor(delay) - [expr [clock seconds] - $bor(lasttime)]]]]."
      return
    }
  }
}
Правда канал у меня чуть криво указывается но исправить не сложно.
Еще я сделал отображение последних добавленных цитат с их рейтингом(по команде). Еще ограничители по краям строк тоже рандомно выбираются для каждой цитаты:
CODE
set splitr [lindex {¤ • # * + °} [rand 6]]
Также сделал и цвета.
Вообще посмотреть на переделанную мною версию 0.1 можно на #bash.org в моей сети.


--------------------
Всероссийская IRC сеть IrcNet.ru
http://ircnet.su/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
CooK
post Dec 30 2007, 11:22 AM
Post #5


Посетитель
*

Group: Members
Posts: 6
Joined: --
Member No.: 44



Подскажите, а в какое место надо вставлять метку цвета, чтобы выделить цитату?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
wayper
post Jan 8 2008, 12:10 AM
Post #6


Посетитель
*

Group: Members
Posts: 2
Joined: 7-January 08
Member No.: 167



выложите рабочую версию скрипты,а то версия 2 уж слишком флудит,и нет цветовой схемsad.gif все подрят шпарит
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Jan 9 2008, 01:25 PM
Post #7


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



QUOTE(wayper @ Jan 8 2008, 12:10 AM) *

выложите рабочую версию скрипты,а то версия 2 уж слишком флудит,и нет цветовой схемsad.gif все подрят шпарит

Проверьте конфиг. Цветовые схемы есть и не могут не работать. Для вывода на канал по команде необходимо установить флаг +pubbor.
Бот выводит автоматически ровно по одной цитате на канал с тем интервалом времени в секундах, что указан в bor(achans) через пробел после имени канала. Чтобы не использовать автовывод - оставьте переменную bor(achans) пустой.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
qazzaq0
post Jan 13 2008, 11:47 PM
Post #8


Посетитель
*

Group: Members
Posts: 2
Joined: 13-January 08
Member No.: 169



подскажите куда добавить что бы бот делал -m перед своей цитатой и +m после ее считывания..
смотрел в output , получилось сделать только -m перед цитатой, а +m чтоб делал потом обратно чтото не получается..
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Infekshen
post Jan 19 2008, 02:31 PM
Post #9


Посетитель
*

Group: Members
Posts: 5
Joined: 19-January 08
Member No.: 174



11:14:51| <krasota> >>> Цитата N: 195518 <> Рейтинг: (+1045)
11:14:52| <krasota> > «инжИнерный калькулятор C++»
11:14:53| krasota <- ([email protected]) quit irc... (Read error: Connection reset by peer)

что может быть?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Infekshen
post Jan 19 2008, 03:09 PM
Post #10


Посетитель
*

Group: Members
Posts: 5
Joined: 19-January 08
Member No.: 174



14:43:00| <krasota> >>> Цитата N: 250126 <> Рейтинг: (+506)
14:43:00| <krasota> > Посетитель: Прошу увеличить длину поля 'Название резюме (желаемая должность):' еще на символов 10/20
14:43:02| krasota <- ([email protected]) quit irc... (Read error: Connection reset by peer)

eggdrop v1.6.15
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Jan 19 2008, 07:50 PM
Post #11


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Во-первых слишком старая версия бота, установите eggdrop 1.6.18.
Во-вторых посмотрите/скопируйте сюда содержимое eggdrop.log на момент сбоя, либо ошибки, которые видны на патилайне бота в момент сбоя.

Непосредственно к вопросу "что может быть?" при данной вами сейчас информации наиболее точный ответ - "все, что угодно".


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Infekshen
post Jan 19 2008, 09:21 PM
Post #12


Посетитель
*

Group: Members
Posts: 5
Joined: 19-January 08
Member No.: 174



поставил бота eggdrop 1.6.18
но теперь не пишит в канал
вот лог...
[21:12] bash.org.ru.tcl v(x)0.2 by Kreon@Zelan loaded
[21:12] Horo.tcl v.1.21 by OxCom @ RusNet <[email protected]>
[21:12] (CCS) Started loading script...
[21:12] (CCS) Channel Control Script by X-Koder. Contacts: e-mail: [email protected], icq: 433735, url: http://xirc.ru
[21:12] (CCS) Loaded successfully [version: 0.4.9, command symbol: !]
[21:12] Userfile loaded, unpacking...
[21:13] bash_autopublish -- executing for channel #bash.org.ru, next in 80 seconds
[21:13] bash_cache is empty - refilling ...
[21:13] bash_get_random -- {} #bash.org.ru 1
[21:13] bash_output #bash.org.ru Кландестин :<br />Для тех, кто работал с ноутбуками IBM, найти клитор у девушки не составляет особого труда.
[21:15] #bash.org.ru (+tn) : [m/15 o/0 h/0 v/0 n/15 b/0 e/0 I/0]


далее..
[21:15] bash_autopublish -- executing for channel #bash.org.ru, next in 80 seconds
[21:15] bash_cache is empty - refilling ...
[21:15] bash_get_random -- {} #bash.org.ru 1
[21:15] bash_output #bash.org.ru &lt;Jayka&gt; У тебя щас девушка есть?<br />&lt;`GIN`&gt; нет<br />&lt;Jayka&gt; А та куда делась?<br />&lt;`GIN`&gt; которая? :-)<br />&lt;Jayka&gt; Кобель.
[21:16] bash_autopublish -- executing for channel #bash.org.ru, next in 80 seconds
[21:16] bash_cache is empty - refilling ...
[21:16] bash_get_random -- {} #bash.org.ru 1
[21:16] bash_output #bash.org.ru Dasher<br>стою на остановке, жду автобус, рядом эмо-киды тусят к ним подходят два скинхеда. происходит диалог...дальше я выпал в осадок<br>&quot;Серег, может вернешься?&quot;
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Infekshen
post Jan 19 2008, 11:01 PM
Post #13


Посетитель
*

Group: Members
Posts: 5
Joined: 19-January 08
Member No.: 174



еще такой вопросик...
10:46:49| <krasota> >>> Цитата N: 254598 <> Рейтинг: (+1864)
10:46:50| <krasota> > SanjaAk: Стою у автомата, где деньги на тел кинуть можна, впереди деушка - грудь, ножки, миниюбка, принцесса, за мной еще несколько парей, все внимание приковано к ней, и в этот иомент автомат: 'внесенная сумма..., ваш телномер ...', все очередь достает мобилы и записывает!
10:46:51| <krasota> -----------------------
10:47:36| krasota <- ([email protected]) quit irc... (Killed (irc.sbor.ru (Server doesn't exist!)))
10:47:36| АнЮтА_сКуФнО <- ([email protected]) quit irc... (Killed (irc.sbor.ru (Server doesn't exist!)))
10:47:38| имо_тапо4ка <- ([email protected]) quit irc... (Killed (irc.sbor.ru (Server doesn't exist!)))
10:48:17| krasota <- ([email protected]) join #bash.org.ru

почему он когда вылетет с ирц и зайдет или перезагрузишь бота, то он не хочет цитаты писать?
просто молчит и все...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Infekshen
post Jan 20 2008, 03:44 PM
Post #14


Посетитель
*

Group: Members
Posts: 5
Joined: 19-January 08
Member No.: 174



только вот что я сделал... чтоб он заработал...

15:27:25| <Infekshen`away> !restart
15:27:25| krasota <- ([email protected]) part #bash.org.ru ()
15:27:44| ты стал - Infekshen
15:28:14| krasota <- ([email protected]) join #bash.org.ru
15:28:14| --- ChanServ даёт op krasota !
15:32:57| <Infekshen> !баш
15:38:46| <Infekshen> !баш 1
15:38:54| <Infekshen> !баш
15:38:55| <Infekshen> !баш 1
15:39:17| <Infekshen> !пик
15:39:18| <krasota> Рекорд канала #bash.org.ru: 20 посетителей (16 часов, 38 минут, 23 секунды назад)
15:39:19| <Infekshen> !баш
15:39:20| <Infekshen> !баш 1
15:40:02| <Infekshen> !rehash
15:41:09| <krasota> >>> Цитата N: 203440 <> Рейтинг: (+346)
15:41:10| <krasota> > форум одного шутера:
15:41:12| <krasota> > dimA (новичок): при высокой сенсе экран сильно трясёться нельзяли сделать чтобы двигался прицел,а экран стоял?
15:41:13| <krasota> > ID^Tsangardi (отец): Нет, к сожалению, нельзя, прицел приделан изнутри.
15:41:15| <krasota> -----------------------

не могу понять смысл как он запускается...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alvor
post Feb 6 2008, 01:37 PM
Post #15


Участник
***

Group: Members
Posts: 30
Joined: 9-March 07
Member No.: 76



А у меня при команде !баш без параметров валится в консоль:

bash_decide Alvor #alvor.ru
bash_output Alvor #alvor.ru
Tcl error [::bor::pub_bor]: expected boolean value but got "MEZON ÷èòàþ ðññ ñ áàøîðãà <br />ME"

Не пойму откуда этот мезон и что это такое? (
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Feb 6 2008, 03:16 PM
Post #16


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Подключил скрипт к боту командой .tcl source scripts/bash.org.ru.tcl, сделал .chanset #bash.org +pubbor, набрал на канале:
QUOTE
‹15·14·03›-|[ Kreon ]|- !bash
‹15·14·04›-|[ Relic ]|- ------> 282590 <------ (+2642)
‹15·14·04›-|[ Relic ]|- Juli: а на что ты готов, чтоб доказать свою любовь?
‹15·14·04›-|[ Relic ]|- Romualdo: проси что угодно
‹15·14·04›-|[ Relic ]|- Juli: месяц без секса!
‹15·14·04›-|[ Relic ]|- Romualdo: хороше, месяц без секса...
‹15·14·04›-|[ Relic ]|- Juli: оО СПЯТИЛ??!! я ж сама не выдержу smile.gif
‹15·14·04›-|[ Relic ]|- Romualdo: теперь поставим вопрос по другому: На что ты готова, чтоб я отказался от своих слов?...

Что я не так делаю? %(


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alvor
post Feb 6 2008, 04:31 PM
Post #17


Участник
***

Group: Members
Posts: 30
Joined: 9-March 07
Member No.: 76



Исчерпывающий ответ.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Laguz
post Feb 23 2008, 03:40 PM
Post #18


Посетитель
*

Group: Members
Posts: 1
Joined: 23-February 08
Member No.: 193



Отличный скрипт, отлично работает. Хорошо что переписали под егглиб!

А вот нельзя ли добавить такую функцию, чтобы сообщения не просто по таймеру выводились в канал, постоянно, а только после определенного времени неактивности на канале? То бишь, пока люди говорят - цитаты не выводятся, чтобы боту не вклиниваться и не мешать разговору. Если же скажем минут 5-10 (период настраивается) никто ничего не говорит, начинается вывод цитат по таймеру, чтоб было что почитать если кто-то просто тупо смотрит в канал, или подойдет позже. biggrin.gif

Думаю, эта функция была бы весьма полезна. Ваше мнение? И можно ли это реализовать?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post May 9 2008, 10:59 AM
Post #19


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



В связи с введением аякса на сайте бора, исправление регекспов для рейтинга + фикс для вырезания рекламы с ифреймов.
Ссылка на скрипт в первом сообщении темы.

Laguz, идея неплохая, как конкретно реализовать, чтобы бот действительно нормально понимал, когда разговор начался, когда закончился, пока непонятно. Может как-нибудь в другой раз сделаю.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Robert
post May 11 2008, 12:10 PM
Post #20


Посетитель
*

Group: Members
Posts: 1
Joined: 11-May 08
Member No.: 223



15:02:55 @Robert: !uptime
15:02:56 @Inari-kun: Robert, Сервер allexsoft.org (платформа FreeBSD). Локальное время шелла: 13:03:15. Дата: 11/05/2008. Часовая зона: MSD
15:02:57 @Inari-kun: Robert, Бот работает 8 минут, 27 секунд и использует 6404 Кб памяти.
15:03:06 @Robert: !bash
15:03:13 @Inari-kun: <--- 193695 ---> (+708)
15:03:13 @Inari-kun: korn3r: сижу и фтыкаю нужность мультимедиа клавиши 'Обновить' прямо над F5
15:03:14 @Inari-kun: ---
15:03:19 @Robert: !uptime
15:03:20 @Inari-kun: Robert, Сервер allexsoft.org (платформа FreeBSD). Локальное время шелла: 13:03:38. Дата: 11/05/2008. Часовая зона: MSD
15:03:21 @Inari-kun: Robert, Бот работает 8 минут, 50 секунд и использует 7508 Кб памяти.

В итоге память не очищается и метр памяти расходуется хз куда. Как приделать чтобы память очищалась после выполнения скрипта? (не используется автовывод)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Pages V  1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 28th March 2024 - 10:46 PM
Design by GPF © 2006