libfchat 1.0.1 → 1.1
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.
- data/lib/libfchat/fchat.rb +90 -1
- data/lib/libfchat/version.rb +1 -1
- metadata +45 -82
data/lib/libfchat/fchat.rb
CHANGED
@@ -19,6 +19,18 @@ module Libfchat
|
|
19
19
|
attr_reader :version
|
20
20
|
attr_reader :clientname
|
21
21
|
|
22
|
+
attr_reader :chat_max
|
23
|
+
attr_reader :priv_max
|
24
|
+
attr_reader :lfrp_max
|
25
|
+
attr_reader :lfrp_flood
|
26
|
+
attr_reader :msg_flood
|
27
|
+
attr_reader :permissions
|
28
|
+
|
29
|
+
attr_accessor :friends
|
30
|
+
attr_accessor :ignore
|
31
|
+
attr_accessor :ops
|
32
|
+
attr_accessor :users
|
33
|
+
|
22
34
|
##
|
23
35
|
# Initialize the object with the name and version.
|
24
36
|
# Default to just identifying as the library
|
@@ -26,6 +38,7 @@ module Libfchat
|
|
26
38
|
def initialize(clientname="libfchat-ruby by Jippen Faddoul ( http://github.com/jippen/libfchat-ruby )",version=Libfchat::VERSION)
|
27
39
|
@clientname = clientname
|
28
40
|
@version = version
|
41
|
+
@users = Hash.new
|
29
42
|
end
|
30
43
|
|
31
44
|
##
|
@@ -86,7 +99,7 @@ module Libfchat
|
|
86
99
|
end
|
87
100
|
|
88
101
|
# ====================================================== #
|
89
|
-
# Always respond to
|
102
|
+
# Always respond to these #
|
90
103
|
# ====================================================== #
|
91
104
|
|
92
105
|
##
|
@@ -95,6 +108,82 @@ module Libfchat
|
|
95
108
|
self.send('PIN')
|
96
109
|
end
|
97
110
|
|
111
|
+
##
|
112
|
+
# Store server-side variables
|
113
|
+
def got_VAR(message)
|
114
|
+
if message['variable'] == 'chat_max'
|
115
|
+
@chat_max = message['value']
|
116
|
+
elsif message['variable'] == 'priv_max'
|
117
|
+
@priv_max = message['value']
|
118
|
+
elsif message['variable'] == 'lfrp_max'
|
119
|
+
@lfrp_max = message['value']
|
120
|
+
elsif message['variable'] == 'lfrp_flood'
|
121
|
+
@lfrp_flood = message['value']
|
122
|
+
elsif message['variable'] == 'msg_flood'
|
123
|
+
@msg_max = message['value']
|
124
|
+
elsif message['variable'] == 'permissions'
|
125
|
+
@permissions = message['value']
|
126
|
+
else
|
127
|
+
puts "ERROR: Do not know how to handle VAR #{message}"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
##
|
132
|
+
# Store list of ops
|
133
|
+
def got_ADL(message)
|
134
|
+
@ops = message['ops']
|
135
|
+
end
|
136
|
+
|
137
|
+
##
|
138
|
+
# Store list of friends
|
139
|
+
def got_FRL(message)
|
140
|
+
@friends = message['characters']
|
141
|
+
end
|
142
|
+
|
143
|
+
##
|
144
|
+
# Store list of ignored users
|
145
|
+
def got_IGN(message)
|
146
|
+
@ops = message['characters']
|
147
|
+
end
|
148
|
+
|
149
|
+
##
|
150
|
+
# Store list of online users
|
151
|
+
def got_LIS(message)
|
152
|
+
message['characters'].each do |character|
|
153
|
+
@users[character[0]] = {
|
154
|
+
'gender' => character[1],
|
155
|
+
'status' => character[2],
|
156
|
+
'message' => character[3]
|
157
|
+
}
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
##
|
162
|
+
# Handle user logging on
|
163
|
+
def got_NLN(message)
|
164
|
+
@users[message['identity']] = {
|
165
|
+
'gender' => message['gender'],
|
166
|
+
'status' => message['status'],
|
167
|
+
'message' => ""
|
168
|
+
}
|
169
|
+
end
|
170
|
+
|
171
|
+
##
|
172
|
+
# Handle user changing status
|
173
|
+
def got_STA(message)
|
174
|
+
@users[message['character']] = {
|
175
|
+
'gender' => @users[message['character']]['gender'],
|
176
|
+
'status' => message['status'],
|
177
|
+
'message' => message['statusmsg']
|
178
|
+
}
|
179
|
+
end
|
180
|
+
|
181
|
+
##
|
182
|
+
# Handle user logging off
|
183
|
+
def got_FLN(message)
|
184
|
+
@users.delete(message['character'])
|
185
|
+
end
|
186
|
+
|
98
187
|
# ====================================================== #
|
99
188
|
# All commands that can be sent by a client have helpers #
|
100
189
|
# ====================================================== #
|
data/lib/libfchat/version.rb
CHANGED
@@ -2,5 +2,5 @@ module Libfchat
|
|
2
2
|
# We're doing this because we might write tests that deal
|
3
3
|
# with other versions of Libfchat and we are unsure how to
|
4
4
|
# handle this better.
|
5
|
-
VERSION = "1.
|
5
|
+
VERSION = "1.1" unless defined?(::Libfchat::VERSION)
|
6
6
|
end
|
metadata
CHANGED
@@ -1,133 +1,96 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: libfchat
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.1'
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 1.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ryan Gooler
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-06-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: turn
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &14910760 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
18
|
+
requirements:
|
26
19
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 49
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
- 9
|
32
|
-
- 5
|
20
|
+
- !ruby/object:Gem::Version
|
33
21
|
version: 0.9.5
|
34
22
|
type: :development
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: miniunit
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: *14910760
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: miniunit
|
27
|
+
requirement: &14910080 !ruby/object:Gem::Requirement
|
40
28
|
none: false
|
41
|
-
requirements:
|
29
|
+
requirements:
|
42
30
|
- - ~>
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
hash: 29
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 2
|
48
|
-
- 1
|
31
|
+
- !ruby/object:Gem::Version
|
49
32
|
version: 1.2.1
|
50
33
|
type: :development
|
51
|
-
version_requirements: *id002
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: multi_json
|
54
34
|
prerelease: false
|
55
|
-
|
35
|
+
version_requirements: *14910080
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: multi_json
|
38
|
+
requirement: &14909560 !ruby/object:Gem::Requirement
|
56
39
|
none: false
|
57
|
-
requirements:
|
40
|
+
requirements:
|
58
41
|
- - ~>
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
hash: 23
|
61
|
-
segments:
|
62
|
-
- 1
|
63
|
-
- 3
|
64
|
-
- 6
|
42
|
+
- !ruby/object:Gem::Version
|
65
43
|
version: 1.3.6
|
66
44
|
type: :runtime
|
67
|
-
version_requirements: *id003
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
name: faye-websocket
|
70
45
|
prerelease: false
|
71
|
-
|
46
|
+
version_requirements: *14909560
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: faye-websocket
|
49
|
+
requirement: &14909080 !ruby/object:Gem::Requirement
|
72
50
|
none: false
|
73
|
-
requirements:
|
51
|
+
requirements:
|
74
52
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
hash: 3
|
77
|
-
segments:
|
78
|
-
- 0
|
79
|
-
- 4
|
80
|
-
- 6
|
53
|
+
- !ruby/object:Gem::Version
|
81
54
|
version: 0.4.6
|
82
55
|
type: :runtime
|
83
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *14909080
|
84
58
|
description: A library for connecting to F-chat ( http://f-list.net )
|
85
59
|
email: cheetahmorph@gmail.com
|
86
60
|
executables: []
|
87
|
-
|
88
61
|
extensions: []
|
89
|
-
|
90
62
|
extra_rdoc_files: []
|
91
|
-
|
92
|
-
files:
|
63
|
+
files:
|
93
64
|
- lib/libfchat/version.rb
|
94
65
|
- lib/libfchat/webapi.rb
|
95
66
|
- lib/libfchat/fchat.rb
|
96
67
|
- test/webapi_test.rb
|
97
68
|
- test/fchat_test.rb
|
98
69
|
homepage: http://github.com/jippen/libfchat-ruby
|
99
|
-
licenses:
|
70
|
+
licenses:
|
100
71
|
- MIT
|
101
72
|
post_install_message:
|
102
73
|
rdoc_options: []
|
103
|
-
|
104
|
-
require_paths:
|
74
|
+
require_paths:
|
105
75
|
- lib
|
106
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
107
77
|
none: false
|
108
|
-
requirements:
|
109
|
-
- -
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
|
112
|
-
|
113
|
-
- 0
|
114
|
-
version: "0"
|
115
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
83
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
|
121
|
-
segments:
|
122
|
-
- 0
|
123
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
124
88
|
requirements: []
|
125
|
-
|
126
89
|
rubyforge_project:
|
127
|
-
rubygems_version: 1.8.
|
90
|
+
rubygems_version: 1.8.11
|
128
91
|
signing_key:
|
129
92
|
specification_version: 3
|
130
93
|
summary: A library for connection to F-chat
|
131
|
-
test_files:
|
94
|
+
test_files:
|
132
95
|
- test/webapi_test.rb
|
133
96
|
- test/fchat_test.rb
|