icqbot 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/{bot_with_events_handlers.rb → bot_with_handlers.rb} +2 -2
- data/doc/bot.md +8 -8
- data/lib/icqbot.rb +1 -1
- data/lib/icqbot/bot.rb +10 -10
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2476d6444ccc42193d8107657feda1832784bede5714c6a4f7734ab51cd26b71
|
|
4
|
+
data.tar.gz: d813abef94c9e009ba7b1a2cc0dae3505b3cac053188f4a52f4bbf67afbac5bf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c0eab2d54a5842addbaa53267b8209d0227c5be8fa790e31c7894f050ce6ff94d2630c02f3f346a32d65e40311fd31a28c5459bf965a0d776ac4ae5731bc063b
|
|
7
|
+
data.tar.gz: 1a3a4437f11ccd39128a777e588d1f723bb9fc648fac18eeb217239a8bd5e550149e923a90f88e356d82016666de6ff7e04039c841c722ea27686584ba86d22f
|
|
@@ -2,11 +2,11 @@ require 'icqbot'
|
|
|
2
2
|
|
|
3
3
|
bot = ICQ::Bot.new('TOKEN')
|
|
4
4
|
|
|
5
|
-
bot.
|
|
5
|
+
bot.add_handler '/help', -> (event) do
|
|
6
6
|
bot.send_msg 'command help don\'t work', event.chat_id
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
bot.
|
|
9
|
+
bot.add_handler '/disable', -> (event) do
|
|
10
10
|
exit 0
|
|
11
11
|
end
|
|
12
12
|
|
data/doc/bot.md
CHANGED
|
@@ -23,19 +23,19 @@ def listen
|
|
|
23
23
|
bot.loop = false
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
## Добавить
|
|
26
|
+
## Добавить handler(обработчик событий)
|
|
27
27
|
```ruby
|
|
28
|
-
def
|
|
28
|
+
def add_handler text, handler
|
|
29
29
|
```
|
|
30
|
-
1. `
|
|
31
|
-
2. `handler` - анонимная функция(принимает объект типа [Event](./event.md)), которая сработает при получение события с текстом идентичном
|
|
30
|
+
1. `text` - текст события.
|
|
31
|
+
2. `handler` - анонимная функция(принимает объект типа [Event](./event.md)), которая сработает при получение события с текстом идентичном `text`.
|
|
32
32
|
|
|
33
|
-
## Добавить callback
|
|
33
|
+
## Добавить callback handler
|
|
34
34
|
```ruby
|
|
35
|
-
def
|
|
35
|
+
def add_callback_handler data, handler
|
|
36
36
|
```
|
|
37
|
-
1. `
|
|
38
|
-
2. `handler` - анонимная функция(принимает объект типа [Event](./event.md)), которая сработает при получение callback события с идентификатор идентичным
|
|
37
|
+
1. `data` - текст события..
|
|
38
|
+
2. `handler` - анонимная функция(принимает объект типа [Event](./event.md)), которая сработает при получение callback события с идентификатор идентичным `data`.
|
|
39
39
|
|
|
40
40
|
## Отправить сообщение
|
|
41
41
|
```ruby
|
data/lib/icqbot.rb
CHANGED
data/lib/icqbot/bot.rb
CHANGED
|
@@ -25,8 +25,8 @@ module ICQ
|
|
|
25
25
|
@pool_time = pool_time
|
|
26
26
|
@last_event_id = 0
|
|
27
27
|
@loop = true
|
|
28
|
-
@
|
|
29
|
-
@
|
|
28
|
+
@handlers = {}
|
|
29
|
+
@callback_handlers = {}
|
|
30
30
|
yield self if block_given?
|
|
31
31
|
end
|
|
32
32
|
|
|
@@ -46,10 +46,10 @@ module ICQ
|
|
|
46
46
|
last_event = events['events'].last
|
|
47
47
|
@last_event_id = last_event['eventId']
|
|
48
48
|
last_event = ICQ::Event.new last_event
|
|
49
|
-
if @
|
|
50
|
-
@
|
|
51
|
-
elsif last_event.type == ICQ::TypeEvent::CALLBACK and @
|
|
52
|
-
@
|
|
49
|
+
if @handlers.has_key? last_event.text
|
|
50
|
+
@handlers[last_event.text].call last_event
|
|
51
|
+
elsif last_event.type == ICQ::TypeEvent::CALLBACK and @callback_handlers.has_key? last_event.data
|
|
52
|
+
@callback_handlers[last_event.text].call last_event
|
|
53
53
|
else
|
|
54
54
|
yield last_event
|
|
55
55
|
end
|
|
@@ -57,12 +57,12 @@ module ICQ
|
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
def
|
|
61
|
-
@
|
|
60
|
+
def add_handler text, handler
|
|
61
|
+
@handlers[text] = handler
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
-
def
|
|
65
|
-
@
|
|
64
|
+
def add_callback_handler data, handler
|
|
65
|
+
@callback_handlers[data] = handler
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
private
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: icqbot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- sheyber
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-11-
|
|
11
|
+
date: 2020-11-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: requests
|
|
@@ -41,7 +41,7 @@ files:
|
|
|
41
41
|
- Gemfile
|
|
42
42
|
- README.md
|
|
43
43
|
- bin/5time_echo_and_end.rb
|
|
44
|
-
- bin/
|
|
44
|
+
- bin/bot_with_handlers.rb
|
|
45
45
|
- bin/echo_bot.rb
|
|
46
46
|
- bin/send_text_with_button.rb
|
|
47
47
|
- doc/bot.md
|