eweather2.tcl - Easy weather 2. Не простая погода с Яндекса.

Решение вопросов при работе с TCL скриптами.

Модератор: Модераторы

eweather2.tcl - Easy weather 2. Не простая погода с Яндекса.

Сообщение tvrsh » 08 авг 2010 00:35

###
#
# Название: eweather.tcl
# Версия: 3.0
# Автор: tvrsh
# Оффсайт: http://egghelp.ru/
#
###
#
# Описание: Скрипт "не простой" погоды с Яндекса. Теперь работает с базой(12000+) городов.
# В скрипте есть запоминалка последнего посмотренного города при просмотре сегодняшней погоды. То-есть будет показываться погода
# при команде без параметров. Как только вы посмотрите погоду на любой другой день кроме сегодняшнего, то запоминалка для вас
# сбрасывается. Объяснить трудно но оно работает.
#
###
#
# Версион хистори:
#
# 1.0(20.03.2010) Первая паблик версия.
# 1.1(21.03.2010) + небольшой хелп по использованию
# + погода в случайном городе
# + небольшие изменения скрипта
# 2.0(24.07.2010) Собрана база городов и скрипт переписан для работы с ней.
# 2.1(26.07.2010) Запоминалка последнего города и показ погоды в нем при команде без параметров.
# 2.2(12.08.2010) Погода на неделю если перед городом поставить +.
# 2.3(12.08.2010) Исправлена ошибка с минусовой температурой на ботах с сузи.
# 2.4(28.09.2010) Исправлена ошибка поиска "многословных" городов.
# 19.11.2010 +сортировка найденных городов по алфавиту.
# 2.5(17.12.2010) Переписан скрипт и база под новый формат запросов сайта.
# + раскраска температуры (с) #eggdrop @ RusNet.
# + много обновлений в оформлении.
# 2.6(25.06.2011) Обновлена база городов.
# + небольшие поправки в недельном и дневном выводах.
# 2.7(29.11.2011) Добавлено локальное время, время и место обновления данных о погоде.
# + обновлен вывод в канал всвязи с увеличением размера сообщения.
# + короткие алиасы городов.
# 2.8(19.02.2012) Скрипт обновлен после изменений на сайте.
# 2.9(06.03.2012) Добавлен показа восхода/захода.
# 3.0(09.06.2013) Обновил вывод и добавил показ вчерашней температуры.
#
###


Пример работы:
# Просто просмотр погоды.
<tvrsh> !п подольск
<@bionic> Пoдoльcк: -9 °C, яcнo. Вocхoд: 07:48/19:16, Дaвлeниe: 758 мм.pт.cт, Вeтep: югo-вocтoчный, 4.0 м/c (14.4 км/ч), Влaжнocть: 58%, Вeчepoм: -14 °C, Hoчью: -18 °C. (138.394мc.)

# Поиск города в базе и показ первого из списка найденных.
<tvrsh> !п под*
<@bionic> По вашему запросу "под" найдено 16 городов. Первые 5 найденных: Подбуж, Подволочиск, Подгайцы, Подгоренский, Подгорица (Черногория).
<@bionic> Пoдбyж: +1 °C, яcнo. Вocхoд: 07:48/19:16, Дaвлeниe: 729 мм.pт.cт, Вeтep: Штиль, Влaжнocть: 74%, Вeчepoм: +2 °C, Hoчью: +1 °C. (137.545мc.)

# Просмотр погоды в городе из списка найденных.
<tvrsh> !п под* -3
<@bionic> По вашему запросу "под" найдено 16 городов. Первые 5 найденных: Подбуж, Подволочиск, Подгайцы, Подгоренский, Подгорица (Черногория).
<@bionic> Пoдoльcк: -9 °C, яcнo. Вocхoд: 07:48/19:16, Дaвлeниe: 758 мм.pт.cт, Вeтep: югo-вocтoчный, 4.0 м/c (14.4 км/ч), Влaжнocть: 58%, Вeчepoм: -14 °C, Hoчью: -18 °C. (123.724мc.)

# Срабатывает запоминалка последнего города, которая сбросится при просмотре погода на следующие дни.
<tvrsh> !п
<@bionic> Пoдoльcк: -9 °C, яcнo. Вocхoд: 07:48/19:16, Дaвлeниe: 758 мм.pт.cт, Вeтep: югo-вocтoчный, 4.0 м/c (14.4 км/ч), Влaжнocть: 58%, Вeчepoм: -14 °C, Hoчью: -18 °C. (150.791мc.)

# Просмотр погоды на неделю.
<@tvrsh> !пп +подольск
<@bionic> Пoдoльcк: зaвтpa 20 фeвpaля: oблaчнo c пpoяcнeниями -10/-10. вт 21: oблaчнo -2/-6. cp 22: oблaчнo -3/-6. чт 23: oблaчнo, вpeмeнaми cнeг -1/-2. пт 24: oблaчнo, нeбoльшoй дoждь co cнeгoм 0/-1. cб 25: oблaчнo, нeбoльшoй cнeг 0/-3. вc 26: oблaчнo, нeбoльшoй cнeг -1/-6. (171.096мc.)


Также показывается время выполнения запроса. Кому не нравится, то легко убрать.
Инструкция по установке в шапке скрипта.

Скачать скрипт: eweather2.tcl
Скачать базу городов: ewbase.txt
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение hxm » 16 ноя 2011 03:35

самый класный скрипт погоды, спасибо за обновление.
но у меня почему то не находит города, это у меня только одного?
hxm
 
Сообщения: 21
Зарегистрирован: 16 ноя 2011 03:11
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 16 ноя 2011 14:20

Все не находит?
У меня вчера почему-то Ханты-Мансийск не хотел показывать. Посмотрю что с ним.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение Sparkle » 17 ноя 2011 03:22

Не показывает (Ханты-Мансийск) в патилайне.
Tcl error [::eweather::eweather_pub]: can't read "wcity": no such variable
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение sad » 17 ноя 2011 04:03

в базе найти
/hanty-mansiysk/|Ханты-Мансийск (Россия)
и исправить на /Khanty-Mansiysk/|Ханты-Мансийск © вики
Кстати то же самое с катманду (katmandu - kathmandu) и некоторыми другими городами. Правте базу.
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение hxm » 17 ноя 2011 20:49

tvrsh писал(а):Все не находит?

ага, пишет ... что по запросу не найден ни один город.

а вообще дело видать в разных кодировках.
tvrsh, у вас насколько я понял бот с пропатченым utf-8 и подключается к utf серверам.
а у меня обычный с iso8859-1 и подключается к руснету на порт с кодировкой cp1251.
hxm
 
Сообщения: 21
Зарегистрирован: 16 ноя 2011 03:11
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 17 ноя 2011 21:57

Попробуй после строк
    set eweather(start) [clock clicks]

добавить
        set text [encoding convertto iso8859-1 [encoding convertfrom utf-8 $text]]

Надо привести к общему знаменателю то, что в базе городов и тот город который ты ему отправляешь. И поиграйся с кодировками во всех местах, где есть encoding. Для удобства можно везде подобавлять
putlog $text
чтобы выводить в патилайн результаты борьбы с кодировками.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

За это сообщение автора tvrsh поблагодарил:
hxm (18 ноя 2011 13:58)
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: +

Сообщение hxm » 18 ноя 2011 13:57

tvrsh
подсмотрел из старого скрипта для своего случая. Если кому вдруг надо, найти:
Код: Выделить всё
set fid [open $eweather(base) "r"]
fconfigure $fid -encoding cp1251
foreach city [split [read $fid] "\n"] {

и заменить на:
Код: Выделить всё
foreach city [split [read [set fid [open $eweather(base) "r"]]] "\n"] {

За это сообщение автора hxm поблагодарил:
Волк (06 дек 2011 23:07)
hxm
 
Сообщения: 21
Зарегистрирован: 16 ноя 2011 03:11
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение hxm » 18 ноя 2011 15:34

Кстати, если допустим ввести ярославка то город не покажет, а если Ярославка то покажет
hxm
 
Сообщения: 21
Зарегистрирован: 16 ноя 2011 03:11
Благодарил (а): 6 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 26 ноя 2011 17:40

hxm писал(а):Кстати, если допустим ввести ярославка то город не покажет, а если Ярославка то покажет

Это, как я понимаю, имеенно та проблема, которую должен исправить Suzi патч.

Обновил базу городов, ссылка не нее в первом сообщении темы.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение Волк » 06 дек 2011 23:08

hxm, спасибо что упомянул как решать, как раз всплыла такая проблема)
Аватара пользователя
Волк
 
Сообщения: 27
Зарегистрирован: 25 ноя 2010 01:47
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение sad » 07 дек 2011 12:44

и снова трабл (
[19:39:51] <sad> !п сочи
[19:39:54] <@Vesemir> Сочи (Краснодарский край) :: Cейчас: +10 °C, вода +12 °C...
[19:40:03] <sad> !п влд
[19:40:06] <@Vesemir> Владивосток (Приморский край) :: Cейчас: -7 °C, вода ?1 °C...

видимо, тоже кодировка? как исправить?
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 07 дек 2011 20:28

У меня во Владивостоке вообще не показывается температура воды. Какая у тебя версия скрипта? Сам ничего не правил в нем?
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение sad » 08 дек 2011 04:28

ыч, я затупил, tvrch =)
# Windrop © Vladislav
# Автор: tvrsh
# Версия: 2.6

не к тебе вопрос, раз ты не делал показ температуры воды )
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 08 дек 2011 08:39

Не стоит использовать скрипты испорченные этим типом.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение sad » 20 дек 2011 14:55

сколько лбдей - столько и мнений
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 20 дек 2011 15:45

Не думаю, что может быть несколько мнений по поводу порчи чужих скриптов и включения их в сомнительные "сборки".
Результат его "работы" прекрасно виден.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение sad » 20 дек 2011 15:49

читай выше, будь проще :)
Нежелание играться - первый признак деградации ;)
Аватара пользователя
sad
 
Сообщения: 28
Зарегистрирован: 15 авг 2010 16:17
Откуда: Комсомольск-на-Амуре
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение Волк » 19 фев 2012 12:43

что то внезапно перестал все города выдавать
как всегда, "Tcl error [::eweather::eweather_pub]: can't read "wcity": no such variable"
Аватара пользователя
Волк
 
Сообщения: 27
Зарегистрирован: 25 ноя 2010 01:47
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 19 фев 2012 16:50

Это из-за изменений яндекса.
Скрипт обновлен, смотрите первый пост.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: eweather2.tcl - Easy weather 2. Не простая погода с Янде

Сообщение tvrsh » 06 мар 2012 21:02

Очередное обновление. Яндекс добавил время восхода/захода.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Пред.След.

Вернуться в TCL скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron