Вопросы по скриптам
|
|
|
Vladislav 25.11.10 13:51 #16
|
Новости ты добавляешь на сайт или хочешь в базу к боту? Скрипты типа ленты.ру тянут инфу только с сайтов, команда !новость примеры расмотрены тут.
|
|
|
|
DwayneCarter 25.11.10 13:58 #17
|
Я хочу чтобы допустим я напечатал новость, а бот сам ее рандомно вывел через полчаса сам, без команды, сайта у меня нет. Естественно все новости чтоб в папочке вместе с ботом хранились
|
|
|
|
Vladislav 25.11.10 14:38 #18
|
C этим сложней, так как готовых вариантов нет именно для авто вывода новостей. Можно попробовать скрипт, тот, что прикрепил в сообщении, читай описание. Или в боте есть такие команды как !цитата !ман в них можно добавлять что хочешь и установить автовывод, читать тут.
|
|
|
|
Thoughtful_Fox 02.12.10 15:32 #19
|
Здравствуйте Владислав! Отличный бот. Мне бы хотелось узнать следующее. Допустим бот сидит на двух каналах. И например есть команда "!кто". Я хочу сделать чтобы например на канале1 команда работала, а на канале2 нет. Я в tcl не слишком разбираюсь. Я думаю это возможно, если я прав, то как? Заранее благодарен!
|
|
|
|
Vladislav 02.12.10 16:01 #20
|
В существенную часть скриптов встроены уже отключающие флаги, пример использования тут. В скрипте !кто нету такого поэтому приведу пример добавления такого флага на этом скрипте и прикреплю к сообщению скрипт с флагом.
В начало скрипта (games/kto.tcl) добавляем имя отключающего флаг:
Затем в начало каждой процедуры в скрипте (в данном случае их 2), вставляем проверку на этот флаг:
Quote if {[channel get $chan nokto]} { putserv "NOTICE $nick :На канале $chan эта команда отключена."; return }
Процедура начинается так:
Code proc pub:kto {nick uhost hand chan text} { Тут стоит обращать внимание на то как указан канал, в данном случае - chan он может быть указан и как channel и как c. Из этого следует что и в проверке, та что выше должна быть указана верная переменная в данном случае - $chan, иначе бот будет выдавать ошибку о том что нет такой переменной.
P.S: в багрепорт можно писать имя скриптов в которых требуется такая функция, и в новой версии эти скрипты уже будут с флагами на отключения.
|
|
|
|
Thoughtful_Fox 02.12.10 23:26 #21
|
Огромное спасибо. Кстати есть одна проблема. В скрипте с новостями, который Вы сделали nov.tcl. Я хотел включить его на одном канале. Название канала написано капсом, и видимо из-за этого скрипт выдавал ошибку, т.к. после того как я изменил в скрипте канал на другой, все работало нормально. Может ли быть проблема в названии канала?
======
Вот какую ошибку выдавал:
Quote [00:02:00] Tcl error [autotid1]: random limit must be greater than zero
Сейчас проверю Ваш вариант.
======
Всё работает отлично, спасибо!)
|
|
|
|
Vladislav 02.12.10 23:35 #22
|
Канал указывается так, как он был добавлен в бота с учётом регистра, посмотреть можно набрав команду: !каналы Так же можешь попробовать взять канал в кавычки: set novpabch "#windrop"
|
|
|
|
Vladislav 03.12.10 12:04 #23
|
Quote [00:02:00] Tcl error [autotid1]: random limit must be greater than zero Эта ошибка не из-за канала, бот сообщает тебе, что не может выбрать рандомное значение, так как их нет, потому что нет в базе новостей. Скриптик nov.tcl обновил, брать в этом посте. Добавил туда проверки на то, что есть ли база и есть ли в ней новости, если нет, то никаких ошибок не будет. А также добавил команду !-нов которая очищает базу, то есть удаляет все новости.
|
|
|
|
Thoughtful_Fox 03.12.10 12:19 #24
|
Отлично!) У меня много идей по скриптам. Кстати. Могли бы вы написать такой скрипт: Допустим в папке Data есть файлик admins.txt В котором прописаны хосты людей, имеющих доступ к боту. И файлик ahelp.txt, в который я напишу команды по управлению ботом, например !ban !topick и т.д. И если человек прописывает команду !ahelp или !ахелп идет проверка хоста из файла admins.txt, если этот человек там прописан, то ему в приват бот пишет эти команды. Просто я немогу уже всем объяснять команды. Да и не все понимают как пользоваться !helps. С этой командой было бы намного проще. Я пользовался таким скриптом на *.mrc. А как его написать на *.tcl я немного затрудняюсь. Надо почитать те книжки, что Вы предложили в другой теме)
|
|
|
|
Vladislav 03.12.10 12:47 #25
|
То, что ты предлагаешь совсем не удобная вещь, проще научиться пользоваться !helps ведь там ничего сложного нет. Как им пользоваться достаточно понятно написано при наборе самой команды !helps и с примерами. Quote <Vladislav> !helps -Windrop- !helps [флаги] Алиасы: !хелпс. Минимальный доступ: %v. -Windrop- Флаги: -Windrop- » -l ограничить список выводимых команд только теми, которые доступны пользователю; -Windrop- » -с выводить доступные алисы для команд; -Windrop- » -g группа выводить команды по указанной группе; -Windrop- Доступные группы: info, system, other, mode, chan, user, botnet, invite, exempt, chanserv, regban, ban, amode -Windrop- Пример: !helps op - !helps -g mode - !helps -c -g mode Quote <Vladislav> !helps -c -g chan <Windrop> !topic <текст> - Устанавливает топик канала. Алиасы: !топик. <Windrop> !addtopic <текст> - Добавляет текст к теме канала. Алиасы: !+топик. <Windrop> !channels - Выводит список каналов. Алиасы: !каналы. <Windrop> !chanadd <канал> - Добавляет канал. Алиасы: !addchan, !join, !+chan, !+канал. <Windrop> !chandel <канал> - Удаляет канал. Алиасы: !delchan, !part, !-chan, !-канал. <Windrop> !rejoin - Даёт команду боту перезайти на канал. Алиасы: !перезайди, !реджоин. .... Кстати, и то что ты хочешь сделать уже реализовано: Quote <tester> !helps -l -g chan -Windrop- !topic <текст> - Устанавливает топик канала. -Windrop- !addtopic <текст> - Добавляет текст к теме канала. -Windrop- !channels - Выводит список каналов. Бот вывел лишь три команды юзеру с флагом o на канале. Это очень мощный скрипт. Постарайся изучить его как следует и донести тем кто прописан у бота. И не надо будет придумывать различных прописей хостов в файлы. Тут конечно моя ошибка есть, я убрал из хелпа флаг l который отвечает за вывод доступных команд каждому юзеру, если вообще ничего не доступно то выведет то что в !helps без параметров. При следующем обновлении бота верну этот флаг в хелп, раз он оказывается востребован.
|
|
|
|
Skarabei_ 03.12.10 14:01 #26
|
Vladislav,я скачал скрипт lenta бот выводит новости,только в краце,а можно как-то зделать что бы при написание команды например !н 1111 (или другой номер) бот выводил более подробную информацию...можно ли это как-то зделать?
|
|
|
|
Thoughtful_Fox 03.12.10 14:13 #27
|
Жалко, но да ладно. Буду усердно вдалбливать команды в их мозги (: А параллельно изучать tcl скриптинг)
|
|
|
|
Vladislav 03.12.10 14:22 #28
|
Skarabei_ я не юзаю о какой ленте ты говоришь (их несколько версий ) для новостей в боте есть !новость которая будет выводть c сайта ленты так:
Quote <Vladislav> !новость http://lenta.ru/rss/news/digital/ <Windrop> [ Lenta.ru: Новости: Технологии ] :: Microsoft договорилась с взломавшими Windows Phone 7 хакерами :: Взломавшие Windows Phone 7 хакеры убрали свою программу ChevronWP7 из свободного доступа. Причиной удаления послужило выдвинутое директором отдела разработок Windows Phone 7 предложение о сотрудничестве. Также Microsoft взяла на себя обязательство уп... @ http://lenta.ru/news/2010/12/02/agreed/
|
|
|
|
Skarabei_ 03.12.10 14:36 #29
|
Извиняюсь допустил оплошность,я тоже использую !новость но все же вот пример Quote •(11:24:02)• <FootballBot> [ football.ua - Новости ] :: Газзаев: ощущение хорошо проделанной работы в Динамо :: Авторитетный российский специалист Валерий Газзаев по-прежнему считает, что хорошо выполнил свою работу у руля киевского Динамо, проиграв все, что только можно, за вычетом Суперкубка Украины. @ http://football.ua/ukraine/news/114436.html єто в краце,а вот как бы хотелось видить при напсиание команды !н 1111 Quote Авторитетный российский специалист Валерий Газзаев по-прежнему считает, что хорошо выполнил свою работу у руля киевского Динамо, проиграв все, что только можно, за вычетом Суперкубка Украины. "С Игорем Суркисом у меня всегда были самые теплые отношения, которые сохранились и сейчас. Он сказал: "Валерий Георгиевич, вы понимаете, от чего вы отказываетесь?" Я ответил: "Я понимаю, что делаю. То, от чего отказываюсь, в данном случае неважно", - вспоминает Газзаев. "Финансовые условия моего ухода интересовали меня в последнюю очередь. Важно было не потерять ощущение хорошо проделанной работы. А оно у меня есть", - приводит слова
|
|
|
|
Vladislav 03.12.10 14:49 #30
|
То что ты хочешь, делается свой парсер для каждого сайта с новостями, если тебе нужно именно с http://football.ua то вот держи скрипт. Quote <Vladislav> !н -Windrop- Формат: !н <номер новости> - выводит новости с football.ua <Vladislav> !н 0 <Windrop> Новость отсутствует. <Vladislav> !н 114436 <Windrop> :: Газзаев: ощущение хорошо проделанной работы в Динамо <Windrop> Авторитетный российский специалист Валерий Газзаев по-прежнему считает, что хорошо выполнил свою работу у руля киевского Динамо, проиграв все, что только можно, за вычетом Суперкубка Украины. "С Игорем Суркисом у меня всегда были самые теплые отношения, которые сохранились и сейчас. Он сказал: "Валерий Георгиевич, вы понимаете, от чего вы отказываетесь?" Я ответил: "Я понимаю, что делаю. То, от чего отказываюсь, в данном <Windrop> случае неважно", - вспоминает Газзаев. "Финансовые условия моего ухода интересовали меня в последнюю очередь. Важно было не потерять ощущение хорошо проделанной работы. А оно у меня есть", - приводит слова тренера Советский Спорт. Так как на этом сайте новости оформляются в стиле "как хочу" возможно, в некоторых новостях будут проскальзывать не замеченные мной теги.
|
|
|