Bitcoin Forum

Local => Кодеры => Topic started by: Manjago on March 07, 2011, 08:38:37 PM



Title: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on March 07, 2011, 08:38:37 PM
У меня в хозяйстве завалялся не слишком загруженный жаббер-бот. Раз уж у нас тут такое интересное бета-тестирование идет - я, пожалуй, могу приспособить его для чего-нибудь такого околобиткойнового.

На форуме как-то пробегали хотелки насчет "долго грузиЦЦа сайт" и "сделайте нам красивое табличко".
Ага, в гугльталке (или в любимом жаббер-клиенте типа миранды или пси) добавляете персонажа returning.officer.828(собачко)gmail.com
Насколько я помню, gmail.com дружит с jabber.ru, так что пользователи жаббер.ру этого персонажа увидят. Посылаете боту сообщение - дальше он намекнет, какие именно команды он будет понимать.

Кто экспериментировать не хочет - может послать ему слово YAD  :)

Пока что бот возвращает откровенно-небрежно-демонстрационное сообщение - bid и ask валюты, полученный через замечательное АПИ любимой биржи.

А у меня - вопрос к уважаемым участникам сообщества: в каком-то виде жаббер-бот кому-то нужен? Есть ли какие-нибудь идеи, чему бы его стоило научить? Например, можно его научить следить за ордером номер ххх, и если он исчезнет - то посылать по жабберу сообщение (вроде бы на форуме пробегала какая-то похожая хотелка).

Ограничения понятно какие - бот асилит то, что умеет API у btcex.com.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: LZ on March 09, 2011, 08:37:20 PM
Мне нравится. А можно его на jabber.ru посадить и имя запоминающееся придумать? Было бы здорово!


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on March 10, 2011, 07:05:11 AM
Мне нравится. А можно его на jabber.ru посадить и имя запоминающееся придумать? Было бы здорово!

Имя можно придумать, но мне было бы удобнее (по моим причинам), чтобы он жил на gmail.com.

Но ведь все равно, где он живет? Приконнектившись через jabber.ru - можно добавить в ростер контакт ктото@gmail.com - я это неоднократно проделывал :-)

Гораздо интереснее, что бы ему можно еще делать.
Мне пока в голову пришло две идеи:
1) сказать боту "следи за ордером номер такой-то, и когда он исчезнет - пошли мне сообщение
2) покажи мне список ордеров, но исключи суммы меньше N биткойнов (потому что меня, если честно, суммы в 0.05 биткойна на бирже задалбывают - они как бы курс формируют, но на самом деле - нет, потому что их объем смехотворен)


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: ArsenShnurkov on March 10, 2011, 07:23:17 AM
Мне пока в голову пришло две идеи:

3) Если встретишь в чате слова "деньги", "валюта", "доллар", "рубль", то выводи рекламу биткоинов с отсылкой на сайт bitocoin.org


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: LZ on March 10, 2011, 08:22:17 PM
Просто текущее имячко довольно-таки сложно диктовать по телефону. Укоротить бы его. :)


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on March 11, 2011, 07:16:53 AM
Просто текущее имячко довольно-таки сложно диктовать по телефону. Укоротить бы его. :)

botcoin@gmail.com - хорошее имячко? Я пока на него бота не "перевесил" - сначала давай с именем разберемся :-)


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: m0Ray on March 11, 2011, 07:28:16 AM
Нравится.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: LZ on March 11, 2011, 08:45:24 PM
Мне тоже. :)


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: m0Ray on March 11, 2011, 10:13:17 PM
В конференцию bitcoin@jabber.ru боту позволил входить без капчи.

На сегодняшний день пока не наблюдал его там, однако.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on March 12, 2011, 07:19:17 AM
В конференцию bitcoin@jabber.ru боту позволил входить без капчи.

На сегодняшний день пока не наблюдал его там, однако.

Не стреляйте в пианиста программиста - он гонит код, как умеет  :)

Сейчас вроде есть - room nick tihobot botcoin. Ведет себя прилично - в чат ничего не пишет, все общение - в привате!


Title: Обновился
Post by: Manjago on March 13, 2011, 02:36:23 PM
Бот немного обновился (может еще показывать ордеры, может показать все курсы разом).

Quote
Список доступных команд:
HELP это сообщение
USD курс долларов США
RUB курс российских рублей
EUR курс евро
JPY курс японской иены
YAD курс Яндекс.Денег
WMZ курс WebMoney USD
WMR курс WebMoney рублей
ALL курс всех вышеперечисленных валют
!USD список ордеров на покупку-продажу США
!RUB список ордеров на покупку-продажу российских рублей
!EUR список ордеров на покупку-продажу евро
!JPY список ордеров на покупку-продажу японской иены
!YAD список ордеров на покупку-продажу Яндекс.Денег
!WMZ список ордеров на покупку-продажу WebMoney USD
!WMR список ордеров на покупку-продажу WebMoney рублей

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

Updated: по просьбам трудящихся - добавлена команда
Quote
MTGOX курс с mtgox.com


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Qtiger on March 16, 2011, 05:07:39 PM
Какой у него сейчас адрес botcoin@gmail.com, или какой то другой.
Что то попробовал подключиться, не сработало.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on March 16, 2011, 05:34:53 PM
Какой у него сейчас адрес botcoin@gmail.com, или какой то другой.
Что то попробовал подключиться, не сработало.

Ага, правильно. Работает, только что он мне выдал

Quote
*** 2011-03-16
[20:33:33] *** botcoin - Доступен
[20:33:39] <Kirill Temnenkov> all
[20:33:40] <botcoin> WebMoney RUB: bid=27.0000, ask=27.8000
Japanese yen: bid=None, ask=None
Russian ruble: bid=27.0011, ask=28.5000
Yandex Money: bid=27.5000, ask=32.4000
WebMoney USD: bid=0.6220, ask=0.9300
Euro: bid=0.7000, ask=0.7200
US dollar: bid=0.9100, ask=0.9200

Еще к нему же можно постучаться из привата конференции bitcoin@conference.jabber.ru


Title: Хотелка для lzsaver-а
Post by: Manjago on April 03, 2011, 12:59:16 PM
По результатам обсуждения в конференции bitcoin@conference.jabber.ru сделана "хотелка" для lzsaver-а - команда expect

Quote
23.03.2011 14:58:36 [lzsaver@jabber.ru/Meebo] предлагаю сделать для бота секретную команду
23.03.2011 14:58:55 [lzsaver@jabber.ru/Meebo] например.. LZ
23.03.2011 14:59:08 [lzsaver@jabber.ru/Meebo] и чтоб она возвращала мое "мнение" по поводу курса
23.03.2011 14:59:11 [lzsaver@jabber.ru/Meebo] например:
23.03.2011 14:59:30 [Manjago] Например?
23.03.2011 14:59:35 [lzsaver@jabber.ru/Meebo] или
23.03.2011 14:59:49 [lzsaver@jabber.ru/Meebo] DOWN 0.80
23.03.2011 15:00:11 [lzsaver@jabber.ru/Meebo] и чтоб эта инфа сбрасывалась в течении 4-8 часов, если не поступила новая инфа
23.03.2011 15:00:14 [lzsaver@jabber.ru/Meebo] :)
23.03.2011 15:01:17 [lzsaver@jabber.ru/Meebo] вопрос только как мне вбивать инфу.. может просто отправлять боту?
23.03.2011 15:01:21 [lzsaver@jabber.ru/Meebo] :)
23.03.2011 15:01:30 [Manjago] Ага, разумеется - только так, отправлять боту.
23.03.2011 15:01:40 [Manjago] <Ключевое слово> текст
23.03.2011 15:01:46 [lzsaver@jabber.ru/Meebo] точно
23.03.2011 15:01:59 [Zoth] Можно вообще сделать команду типа expect [what]
23.03.2011 15:02:15 [Manjago] Причем не в привате конференции, а в "настоящем" привате (в конференции он не увидит настоящий Jid)
23.03.2011 15:02:50 [Zoth] По команде expect 0.85 4, например, устанавливать мнение текущего пользователя на 4 часа.
23.03.2011 15:03:05 [Zoth] Просто по команде expect выводить табличку с мненийми.
23.03.2011 15:03:13 [lzsaver@jabber.ru/Meebo] мне нравится
23.03.2011 15:03:21 [Manjago] Ага, мне тоже! Дома запилю!

Соответственно, команда существует в двух вариантах:

1) expect <какой-нибудь текст> <целое число - это часы>

При этом некий текст (на самом деле - это мнение) на некоторое число часов запоминается.
Если в конце текста не будет целого числа, то считаем, что это мнение действительно один час.

2) expect
без параметров. При этом будут показаны актуальные мнения в формате
<автор> <время, до которого действует> <мнение>

Первый вариант этой команды можно подать только в "настоящем" привате (то есть не из конференции)
Второй вариант этой команды можно подать и из "настоящего" привата, и из привата конференции.

У каждого пользователя может быть только одно мнение. Соответственно, команда
expect 0

как легко догадаться, удалит ваше мнение


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: LZ on April 03, 2011, 08:08:02 PM
Блеск! :D А так и задумано, чтоб все буквы были заглавными? :-\


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 04, 2011, 05:32:12 AM
Блеск! :D А так и задумано, чтоб все буквы были заглавными? :-\

Ага, заглавность букофф пофикшу на следующих выходных :-)



Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 04, 2011, 06:54:48 PM
Блеск! :D А так и задумано, чтоб все буквы были заглавными? :-\

Пофиксил сейчас, теперь регистр букв сохраняется. Заодно задал максимальную длину для сообщения - 300 символов.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: vhof on April 09, 2011, 11:25:10 PM
2Manjago
Спасибо, очень удобно. А можно  чтобы команды и в кириллице работали тоже, например !WMZ и !ВМЗ и тд. Это не фанатизма ради, а чтобы раскладку не переключать каждый раз  т.к. в соседних табах в большинстве случаев русский чат и соотвессно все окно мессенжера удобнее держать в кириллице постоянно.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 10, 2011, 09:08:37 AM
2Manjago
Спасибо, очень удобно. А можно  чтобы команды и в кириллице работали тоже, например !WMZ и !ВМЗ и тд. Это не фанатизма ради, а чтобы раскладку не переключать каждый раз  т.к. в соседних табах в большинстве случаев русский чат и соотвессно все окно мессенжера удобнее держать в кириллице постоянно.

Угу, пометил в блокнотик! Сделаю, но сначала предлагаю утрясти русскоязычные алиасы. Так хорошо?

Quote
HELP помощь
USD баксы
RUB рубли
EUR евро
JPY иены
YAD яд
WMZ вмз
WMR вмр
ALL все
MTGOX мтгокс
!USD !баксы
!RUB !рубли
!EUR !евро
!JPY !иены
!YAD !яд
!WMZ !вмз
!WMR !вмр
EXPECT !прогноз


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: vhof on April 21, 2011, 07:36:25 AM
2Manjago,
Прошу прощенья, отвлекался.
Педлагаю сократить кириллические аббрев. валют дела до трех знаков:
дол, руб, евр, иен, яд, вмз, вмр, все, мтг, и т.д.

Прошу "евр" не путать с "евреями" ))

Далее из закрытого топика, по поводу списка биржевых операций - я за обоими рогами, но хотелось бы, чтобы это была рассылка по инициативе бота т.е. подписка.  Иначе мне непонятно как при повторных запросах к боту избежать повторов в списке операций и в общем за какой период бот будет отдавать список?   
 


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 21, 2011, 09:06:24 AM
2Manjago,
Прошу прощенья, отвлекался.
Педлагаю сократить кириллические аббрев. валют дела до трех знаков:
дол, руб, евр, иен, яд, вмз, вмр, все, мтг, и т.д.

Хорошо, будет время - сделаем!

Далее из закрытого топика, по поводу списка биржевых операций - я за обоими рогами, но хотелось бы, чтобы это была рассылка по инициативе бота т.е. подписка.  Иначе мне непонятно как при повторных запросах к боту избежать повторов в списке операций и в общем за какой период бот будет отдавать список?   

Да вроде бы проблем особых я не вижу. В первый раз бот отдает все и запоминает, что отдал пользователю с данным ником.
В следующие разы бот отдает только то, что добавилось.
Ну и отдельной командой можно затребовать все.
И отдельной командой можно затребовать сделки в диапазоне дат.

Как-то вот так.


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: vhof on April 21, 2011, 09:33:13 AM
По спискам - этого  более чем достаточно.
Заранее спасибо за работу


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 21, 2011, 01:09:58 PM
По спискам - этого  более чем достаточно.
Заранее спасибо за работу

Отлично, тогда поставлю себе в ближайшие планы :-)


Title: Re: жаббер бот, или "мы любим btcex.com"
Post by: Manjago on April 21, 2011, 07:13:25 PM
Педлагаю сократить кириллические аббрев. валют дела до трех знаков:
дол, руб, евр, иен, яд, вмз, вмр, все, мтг, и т.д.

Сделал немного более общий случай.

Теперь список команд выглядит так:

Quote
Список доступных команд:
HELP это сообщение
USD курс долларов США
RUB курс российских рублей
EUR курс евро
JPY курс японской иены
YAD курс Яндекс.Денег
WMZ курс WebMoney USD
WMR курс WebMoney рублей
ALL курс всех вышеперечисленных валют
MTGOX курс с mtgox.com
!USD список ордеров на покупку-продажу США
!RUB список ордеров на покупку-продажу российских рублей
!EUR список ордеров на покупку-продажу евро
!JPY список ордеров на покупку-продажу японской иены
!YAD список ордеров на покупку-продажу Яндекс.Денег
!WMZ список ордеров на покупку-продажу WebMoney USD
!WMR список ордеров на покупку-продажу WebMoney рублей
ALIAS список алиасов (псевдонимов) для команд
EXPECT <текст> <время в целых часах> (пример - expect курс будет buy 60.6 4). EXPECT без параметров выведет текущие прогнозы
Если вам этого мало - пишите на https://www.bitcoin.org/smf/index.php?topic=4256.0

Cоответственно, команда ALIAS выдаст обещанный список псевдонимов:

Quote
ПОМОЩЬ HELP
БАКСЫ USD
ДОЛЛАРЫ USD
РУБЛИ RUB
ЕВРО EUR
ИЕНЫ JPY
ЯД YAD
ВМЗ WMZ
ВМР WMR
ВСЕ ALL
МТГОКС MTGOX
!БАКСЫ !USD
!ДОЛЛАРЫ !USD
!РУБЛИ !RUB
!ЕВРО !EUR
!ИЕНЫ !JPY
!ЯД !YAD
!ВМЗ !WMZ
!ВМР !WMR
ПСЕВДОНИМЫ ALIAS
Можно вводить первые несколько символов, будет выбрано первое подходящее соответствие. Большие, маленькие буквы - все равно.

И это правда - можно вводить и
помо
по
До
бА
!ба

ну и так далее. То есть в ряде случаев даже однобуквенные сокращения получаются.