ilink 0.1.3 → 0.1.4
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/lib/ilink/version.rb +1 -1
- metadata +1 -2
- data/lib/ilink/resources/messages.rb +0 -54
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26d09af4ef30ec5900fd77af6a60be88958246acd92a529cabd41112d959dd7b
|
|
4
|
+
data.tar.gz: 70a93759938d8464b75f32a2218de12ad2333fb5dfaf33c47bf75416813a1eef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 733efa9f23a2d0fcd80bfcd95301c53285c45fb8b5800cd6f8d63f2e11871ca3060e750e35c6d0ae9ccf261a163deae67e9b8aa613ee7735500d2fbcb3c5d602
|
|
7
|
+
data.tar.gz: 19c35e1def190dcc004a04e381815e6fd1891cd8d6f648c0acedef87190d4e8db25aa93f896d2bd3be265cd04c1c17cbaf55af8d61e5c188f32efe980e2a3079
|
data/lib/ilink/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ilink
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Songji Zeng
|
|
@@ -39,7 +39,6 @@ files:
|
|
|
39
39
|
- lib/ilink/connection.rb
|
|
40
40
|
- lib/ilink/constants.rb
|
|
41
41
|
- lib/ilink/errors.rb
|
|
42
|
-
- lib/ilink/resources/messages.rb
|
|
43
42
|
- lib/ilink/version.rb
|
|
44
43
|
homepage: https://github.com/songjiz/ilink-ruby
|
|
45
44
|
licenses:
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ILink
|
|
4
|
-
module Resources
|
|
5
|
-
# RESTful resource for message operations.
|
|
6
|
-
#
|
|
7
|
-
# bot.messages.get_updates - long-poll for new messages (getUpdates)
|
|
8
|
-
# bot.messages.send(msg) - send a message to a user
|
|
9
|
-
class Messages < Base
|
|
10
|
-
# Long-poll for new messages.
|
|
11
|
-
#
|
|
12
|
-
# @param get_updates_buf [String] opaque cursor from previous poll ("" on first call)
|
|
13
|
-
# @return [Hash] parsed response with :ret, :msgs, :get_updates_buf, etc.
|
|
14
|
-
def poll(get_updates_buf: "")
|
|
15
|
-
post("/ilink/bot/getupdates",
|
|
16
|
-
{ get_updates_buf: get_updates_buf },
|
|
17
|
-
timeout: connection.config.long_poll_timeout)
|
|
18
|
-
rescue Net::ReadTimeout, Net::OpenTimeout
|
|
19
|
-
# Long-poll timeout is normal; return empty response so caller can retry
|
|
20
|
-
{ ret: 0, msgs: [], get_updates_buf: get_updates_buf }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Send a message.
|
|
24
|
-
#
|
|
25
|
-
# @param message [Hash] a WeixinMessage hash with keys like :to_user_id, :item_list, etc.
|
|
26
|
-
# @return [Hash] parsed response
|
|
27
|
-
def send(message)
|
|
28
|
-
post("/ilink/bot/sendmessage", { msg: message })
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Convenience: send a text message to a user.
|
|
32
|
-
#
|
|
33
|
-
# @param to [String] target user ID
|
|
34
|
-
# @param text [String] message text
|
|
35
|
-
# @param session_id [String, nil] optional session ID
|
|
36
|
-
# @return [Hash]
|
|
37
|
-
def send_text(to:, text:, session_id: nil)
|
|
38
|
-
message = {
|
|
39
|
-
to_user_id: to,
|
|
40
|
-
message_type: MessageType::BOT,
|
|
41
|
-
message_state: MessageState::FINISH,
|
|
42
|
-
item_list: [
|
|
43
|
-
{
|
|
44
|
-
type: MessageItemType::TEXT,
|
|
45
|
-
text_item: { text: text }
|
|
46
|
-
}
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
message[:session_id] = session_id if session_id
|
|
50
|
-
send(message)
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|