termtter 1.1.1 → 1.1.3
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/Rakefile +1 -1
- data/lib/plugins/irc_gw.rb +7 -13
- data/lib/plugins/mark.rb +11 -0
- data/lib/plugins/standard_commands.rb +8 -8
- data/lib/plugins/stdout.rb +7 -14
- data/lib/termtter/config_template.erb +18 -0
- data/lib/termtter/version.rb +1 -1
- metadata +3 -1
data/Rakefile
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.version = '#{Termtter::VERSION}'
|
17
17
|
s.summary = "Terminal based Twitter client"
|
18
18
|
s.description = "Termtter is a terminal based Twitter client"
|
19
|
-
s.files = %w( #{Dir['lib/**/*.rb'].join(' ')}
|
19
|
+
s.files = %w( #{Dir['lib/**/*.rb', 'lib/**/*.erb'].join(' ')}
|
20
20
|
#{Dir['spec/**/*.rb'].join(' ')}
|
21
21
|
#{Dir['test/**/*.rb', 'test/**/*.json'].join(' ')}
|
22
22
|
README.rdoc
|
data/lib/plugins/irc_gw.rb
CHANGED
@@ -33,10 +33,6 @@ class TermtterIrcGateway < Net::IRC::Server::Session
|
|
33
33
|
def initialize(*args)
|
34
34
|
super
|
35
35
|
@@listners << self
|
36
|
-
Thread.start do
|
37
|
-
sleep 1
|
38
|
-
self.call(@@last_statuses || [], :update_friends_timeline)
|
39
|
-
end
|
40
36
|
end
|
41
37
|
|
42
38
|
def call(statuses, event)
|
@@ -49,25 +45,23 @@ class TermtterIrcGateway < Net::IRC::Server::Session
|
|
49
45
|
end
|
50
46
|
|
51
47
|
statuses.each do |s|
|
52
|
-
post s.user.screen_name, msg_type, main_channel, s.text
|
48
|
+
post s.user.screen_name, msg_type, main_channel, [s.text, s.id].join(' ')
|
53
49
|
end
|
54
50
|
end
|
55
51
|
|
56
52
|
def on_message(m)
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
Termtter::Client.call_commands(termtter_command)
|
62
|
-
end
|
63
|
-
rescue Termtter::CommandNotFound => e
|
64
|
-
super
|
53
|
+
termtter_command = m.command.downcase + ' ' + m.params.join(' ')
|
54
|
+
unless Termtter::Client.find_commands(termtter_command).empty?
|
55
|
+
post '#termtter', NOTICE, main_channel, '> ' + termtter_command
|
56
|
+
Termtter::Client.call_commands(termtter_command)
|
65
57
|
end
|
66
58
|
end
|
67
59
|
|
68
60
|
def on_user(m)
|
69
61
|
super
|
70
62
|
post @prefix, JOIN, main_channel
|
63
|
+
post server_name, MODE, main_channel, "+o", @prefix.nick
|
64
|
+
self.call(@@last_statuses || [], :update_friends_timeline)
|
71
65
|
end
|
72
66
|
|
73
67
|
def on_privmsg(m)
|
data/lib/plugins/mark.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
config.plugins.mark.set_default(
|
4
|
+
:text, '<on_green>' + (' ' * 30) + '#mark' + (' ' * 30) + '</on_green>')
|
5
|
+
|
6
|
+
Termtter::Client.register_command(
|
7
|
+
:name => :mark, :alias => :m,
|
8
|
+
:exec => lambda {|arg|
|
9
|
+
puts TermColor.parse(config.plugins.mark.text)
|
10
|
+
}
|
11
|
+
)
|
@@ -38,7 +38,7 @@ module Termtter::Client
|
|
38
38
|
:exec_proc => lambda {|arg|
|
39
39
|
unless arg.empty?
|
40
40
|
result = Termtter::API.twitter.update(arg)
|
41
|
-
puts "updated =>
|
41
|
+
puts TermColor.parse("updated => #{result.text} <90>#{result.id}</90>")
|
42
42
|
end
|
43
43
|
},
|
44
44
|
:completion_proc => lambda {|cmd, args|
|
@@ -61,7 +61,7 @@ module Termtter::Client
|
|
61
61
|
end
|
62
62
|
if id
|
63
63
|
result = Termtter::API.twitter.remove_status(id)
|
64
|
-
puts "deleted =>
|
64
|
+
puts TermColor.parse("deleted => #{result.text} <90>#{result.id}</90>")
|
65
65
|
end
|
66
66
|
},
|
67
67
|
:help => ['delete,del [STATUS ID]', 'Delete a status']
|
@@ -451,9 +451,10 @@ module Termtter::Client
|
|
451
451
|
update_with_user_and_id(text, user.screen_name, id) if user
|
452
452
|
public_storage.delete :log4re
|
453
453
|
when /^\s*(\d+)\s+(.+)$/
|
454
|
-
|
455
|
-
|
456
|
-
|
454
|
+
s = Termtter::API.twitter.show($1) rescue nil
|
455
|
+
if s
|
456
|
+
update_with_user_and_id($2, s.user.screen_name, id)
|
457
|
+
end
|
457
458
|
when /^\s*@(\w+)/
|
458
459
|
in_reply_to_status_id = Termtter::API.twitter.user($1).status.id rescue nil
|
459
460
|
params = in_reply_to_status_id ? {:in_reply_to_status_id => in_reply_to_status_id} : {}
|
@@ -497,10 +498,9 @@ module Termtter::Client
|
|
497
498
|
)
|
498
499
|
|
499
500
|
def self.update_with_user_and_id(text, username, id)
|
500
|
-
text =
|
501
|
+
text = "@#{username} #{text}"
|
501
502
|
result = Termtter::API.twitter.update(text, {'in_reply_to_status_id' => id})
|
502
|
-
puts "=> #{text}"
|
503
|
-
result
|
503
|
+
puts TermColor.parse("replied => #{result.text} <90>#{result.id}</90>")
|
504
504
|
end
|
505
505
|
|
506
506
|
=begin
|
data/lib/plugins/stdout.rb
CHANGED
@@ -4,14 +4,12 @@ require 'termcolor'
|
|
4
4
|
require 'erb'
|
5
5
|
require 'tempfile'
|
6
6
|
|
7
|
-
config.plugins.stdout.set_default(
|
8
|
-
:colors,
|
9
|
-
[:none, :red, :green, :yellow, :blue, :magenta, :cyan])
|
7
|
+
config.plugins.stdout.set_default(:colors, (31..36).to_a + (91..96).to_a)
|
10
8
|
config.plugins.stdout.set_default(
|
11
9
|
:timeline_format,
|
12
|
-
'<90><%=time%></90> <<%=
|
13
|
-
|
14
|
-
|
10
|
+
'<90><%=time%></90> <<%=color%>><%=s.user.screen_name%>: <%=text%></<%=color%>> ' +
|
11
|
+
'<90><%=reply_to ? reply_to + " " : ""%><%=s.id%> <%=source%></90>'
|
12
|
+
)
|
15
13
|
config.plugins.stdout.set_default(:enable_pager, true)
|
16
14
|
config.plugins.stdout.set_default(:pager, 'less -R -f +G')
|
17
15
|
config.plugins.stdout.set_default(:window_height, 50)
|
@@ -43,15 +41,10 @@ module Termtter
|
|
43
41
|
|
44
42
|
output_text = ''
|
45
43
|
statuses.each do |s|
|
46
|
-
text = s.text
|
47
|
-
|
48
|
-
|
49
|
-
if s.in_reply_to_status_id
|
50
|
-
status += " (reply to #{s.in_reply_to_status_id})"
|
51
|
-
end
|
52
|
-
|
44
|
+
text = TermColor.escape(s.text)
|
45
|
+
color = config.plugins.stdout.colors[s.user.id.to_i % config.plugins.stdout.colors.size]
|
46
|
+
reply_to = s.in_reply_to_status_id ? "(reply to #{s.in_reply_to_status_id})" : nil
|
53
47
|
time = "(#{Time.parse(s.created_at).strftime(time_format)})"
|
54
|
-
id = s.id
|
55
48
|
source =
|
56
49
|
case s.source
|
57
50
|
when />(.*?)</ then $1
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
config.user_name = '<%= user_name %>'
|
4
|
+
config.password = '<%= password %>'
|
5
|
+
#config.update_interval = 120
|
6
|
+
#config.proxy.host = 'proxy host'
|
7
|
+
#config.proxy.port = '8080'
|
8
|
+
#config.proxy.user_name = 'proxy user'
|
9
|
+
#config.proxy.password = 'proxy password'
|
10
|
+
|
11
|
+
Termtter::Client.init do |t|
|
12
|
+
<%- standard_plugins.each do |plugin| -%>
|
13
|
+
t.plug '<%= plugin %>'
|
14
|
+
<%- end -%>
|
15
|
+
<%- (plugins - standard_plugins).each do |plugin| -%>
|
16
|
+
# t.plug '<%= plugin %>'
|
17
|
+
<%- end -%>
|
18
|
+
end
|
data/lib/termtter/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: termtter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jugyo
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- lib/plugins/l2.rb
|
99
99
|
- lib/plugins/list_with_opts.rb
|
100
100
|
- lib/plugins/log.rb
|
101
|
+
- lib/plugins/mark.rb
|
101
102
|
- lib/plugins/me.rb
|
102
103
|
- lib/plugins/modify_arg_hook_sample.rb
|
103
104
|
- lib/plugins/msagent.rb
|
@@ -160,6 +161,7 @@ files:
|
|
160
161
|
- lib/termtter/task_manager.rb
|
161
162
|
- lib/termtter/version.rb
|
162
163
|
- lib/termtter.rb
|
164
|
+
- lib/termtter/config_template.erb
|
163
165
|
- spec/plugins/cool_spec.rb
|
164
166
|
- spec/plugins/english_spec.rb
|
165
167
|
- spec/plugins/fib_spec.rb
|