atig 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +24 -0
- data/Gemfile +3 -0
- data/README.mkdn +52 -0
- data/Rakefile +15 -0
- data/atig.gemspec +25 -0
- data/bin/atig +74 -0
- data/docs/OMakefile +32 -0
- data/docs/OMakeroot +45 -0
- data/docs/_static/allow.png +0 -0
- data/docs/_static/emacs.png +0 -0
- data/docs/_static/irc_setting.png +0 -0
- data/docs/_static/irssi.png +0 -0
- data/docs/_static/limechat.png +0 -0
- data/docs/_static/limechat_s.png +0 -0
- data/docs/_static/oauth_channel.png +0 -0
- data/docs/_static/screenshot.png +0 -0
- data/docs/_static/structure.png +0 -0
- data/docs/_static/verify.png +0 -0
- data/docs/changelog.rst +96 -0
- data/docs/commandline_options.rst +21 -0
- data/docs/commands.rst +84 -0
- data/docs/conf.py +194 -0
- data/docs/config.rst +159 -0
- data/docs/feature.rst +41 -0
- data/docs/graphics.graffle +1995 -0
- data/docs/hacking_guide.rst +43 -0
- data/docs/index.rst +109 -0
- data/docs/irc.rst +31 -0
- data/docs/options.rst +75 -0
- data/docs/quickstart.rst +89 -0
- data/docs/resize.sh +7 -0
- data/docs/tiarra.rst +2 -0
- data/docs/tig.rst +21 -0
- data/lib/atig.rb +19 -0
- data/lib/atig/agent.rb +8 -0
- data/lib/atig/agent/agent.rb +38 -0
- data/lib/atig/agent/clenup.rb +23 -0
- data/lib/atig/agent/dm.rb +35 -0
- data/lib/atig/agent/following.rb +45 -0
- data/lib/atig/agent/full_list.rb +20 -0
- data/lib/atig/agent/list.rb +55 -0
- data/lib/atig/agent/list_status.rb +46 -0
- data/lib/atig/agent/mention.rb +13 -0
- data/lib/atig/agent/other_list.rb +18 -0
- data/lib/atig/agent/own_list.rb +18 -0
- data/lib/atig/agent/stream_follow.rb +38 -0
- data/lib/atig/agent/timeline.rb +13 -0
- data/lib/atig/agent/user_stream.rb +31 -0
- data/lib/atig/basic_twitter.rb +116 -0
- data/lib/atig/bitly.rb +52 -0
- data/lib/atig/channel.rb +5 -0
- data/lib/atig/channel/channel.rb +17 -0
- data/lib/atig/channel/dm.rb +14 -0
- data/lib/atig/channel/list.rb +76 -0
- data/lib/atig/channel/mention.rb +20 -0
- data/lib/atig/channel/retweet.rb +28 -0
- data/lib/atig/channel/timeline.rb +74 -0
- data/lib/atig/command.rb +21 -0
- data/lib/atig/command/autofix.rb +58 -0
- data/lib/atig/command/command.rb +24 -0
- data/lib/atig/command/command_helper.rb +95 -0
- data/lib/atig/command/destroy.rb +44 -0
- data/lib/atig/command/dm.rb +31 -0
- data/lib/atig/command/favorite.rb +27 -0
- data/lib/atig/command/info.rb +50 -0
- data/lib/atig/command/limit.rb +15 -0
- data/lib/atig/command/location.rb +23 -0
- data/lib/atig/command/name.rb +18 -0
- data/lib/atig/command/option.rb +37 -0
- data/lib/atig/command/refresh.rb +18 -0
- data/lib/atig/command/reply.rb +37 -0
- data/lib/atig/command/retweet.rb +63 -0
- data/lib/atig/command/search.rb +51 -0
- data/lib/atig/command/spam.rb +26 -0
- data/lib/atig/command/status.rb +41 -0
- data/lib/atig/command/thread.rb +44 -0
- data/lib/atig/command/time.rb +32 -0
- data/lib/atig/command/uptime.rb +32 -0
- data/lib/atig/command/user.rb +42 -0
- data/lib/atig/command/user_info.rb +27 -0
- data/lib/atig/command/version.rb +49 -0
- data/lib/atig/command/whois.rb +39 -0
- data/lib/atig/db/db.rb +60 -0
- data/lib/atig/db/followings.rb +131 -0
- data/lib/atig/db/listenable.rb +22 -0
- data/lib/atig/db/lists.rb +76 -0
- data/lib/atig/db/roman.rb +30 -0
- data/lib/atig/db/sized_uniq_array.rb +62 -0
- data/lib/atig/db/sql.rb +35 -0
- data/lib/atig/db/statuses.rb +147 -0
- data/lib/atig/db/transaction.rb +47 -0
- data/lib/atig/exception_util.rb +26 -0
- data/lib/atig/gateway.rb +62 -0
- data/lib/atig/gateway/channel.rb +99 -0
- data/lib/atig/gateway/session.rb +326 -0
- data/lib/atig/http.rb +95 -0
- data/lib/atig/ifilter.rb +7 -0
- data/lib/atig/ifilter/expand_url.rb +74 -0
- data/lib/atig/ifilter/retweet.rb +14 -0
- data/lib/atig/ifilter/retweet_time.rb +16 -0
- data/lib/atig/ifilter/sanitize.rb +18 -0
- data/lib/atig/ifilter/strip.rb +15 -0
- data/lib/atig/ifilter/utf7.rb +26 -0
- data/lib/atig/ifilter/xid.rb +36 -0
- data/lib/atig/levenshtein.rb +49 -0
- data/lib/atig/monkey.rb +4 -0
- data/lib/atig/oauth-patch.rb +40 -0
- data/lib/atig/oauth.rb +55 -0
- data/lib/atig/ofilter.rb +4 -0
- data/lib/atig/ofilter/escape_url.rb +102 -0
- data/lib/atig/ofilter/footer.rb +20 -0
- data/lib/atig/ofilter/geo.rb +17 -0
- data/lib/atig/ofilter/short_url.rb +47 -0
- data/lib/atig/option.rb +90 -0
- data/lib/atig/scheduler.rb +79 -0
- data/lib/atig/search.rb +22 -0
- data/lib/atig/search_twitter.rb +21 -0
- data/lib/atig/sized_hash.rb +33 -0
- data/lib/atig/stream.rb +66 -0
- data/lib/atig/twitter.rb +79 -0
- data/lib/atig/twitter_struct.rb +63 -0
- data/lib/atig/unu.rb +27 -0
- data/lib/atig/update_checker.rb +53 -0
- data/lib/atig/url_escape.rb +62 -0
- data/lib/atig/util.rb +16 -0
- data/lib/atig/version.rb +3 -0
- data/lib/memory_profiler.rb +77 -0
- data/spec/command/autofix_spec.rb +35 -0
- data/spec/command/destroy_spec.rb +98 -0
- data/spec/command/dm_spec.rb +28 -0
- data/spec/command/favorite_spec.rb +55 -0
- data/spec/command/limit_spec.rb +27 -0
- data/spec/command/location_spec.rb +25 -0
- data/spec/command/name_spec.rb +19 -0
- data/spec/command/option_spec.rb +133 -0
- data/spec/command/refresh_spec.rb +22 -0
- data/spec/command/reply_spec.rb +79 -0
- data/spec/command/retweet_spec.rb +66 -0
- data/spec/command/spam_spec.rb +27 -0
- data/spec/command/status_spec.rb +44 -0
- data/spec/command/thread_spec.rb +91 -0
- data/spec/command/time_spec.rb +52 -0
- data/spec/command/uptime_spec.rb +55 -0
- data/spec/command/user_info_spec.rb +42 -0
- data/spec/command/user_spec.rb +50 -0
- data/spec/command/version_spec.rb +67 -0
- data/spec/command/whois_spec.rb +78 -0
- data/spec/db/followings_spec.rb +100 -0
- data/spec/db/listenable_spec.rb +32 -0
- data/spec/db/lists_spec.rb +104 -0
- data/spec/db/roman_spec.rb +17 -0
- data/spec/db/sized_uniq_array_spec.rb +63 -0
- data/spec/db/statuses_spec.rb +180 -0
- data/spec/ifilter/expand_url_spec.rb +44 -0
- data/spec/ifilter/retweet_spec.rb +28 -0
- data/spec/ifilter/retweet_time_spec.rb +25 -0
- data/spec/ifilter/sanitize_spec.rb +25 -0
- data/spec/ifilter/sid_spec.rb +29 -0
- data/spec/ifilter/strip_spec.rb +23 -0
- data/spec/ifilter/tid_spec.rb +29 -0
- data/spec/ifilter/utf7_spec.rb +30 -0
- data/spec/levenshtein_spec.rb +24 -0
- data/spec/ofilter/escape_url_spec.rb +50 -0
- data/spec/ofilter/footer_spec.rb +32 -0
- data/spec/ofilter/geo_spec.rb +33 -0
- data/spec/ofilter/short_url_spec.rb +127 -0
- data/spec/option_spec.rb +91 -0
- data/spec/sized_hash_spec.rb +45 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/update_checker_spec.rb +55 -0
- metadata +326 -0
data/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
*~
|
2
|
+
*.omc
|
3
|
+
.omakedb
|
4
|
+
.omakedb.lock
|
5
|
+
_build
|
6
|
+
*.db
|
7
|
+
.DS_Store
|
8
|
+
.gem
|
9
|
+
*.rbc
|
10
|
+
.bundle
|
11
|
+
.config
|
12
|
+
.yardoc
|
13
|
+
Gemfile.lock
|
14
|
+
InstalledFiles
|
15
|
+
_yardoc
|
16
|
+
coverage
|
17
|
+
doc/
|
18
|
+
lib/bundler/man
|
19
|
+
pkg
|
20
|
+
rdoc
|
21
|
+
spec/reports
|
22
|
+
test/tmp
|
23
|
+
test/version_tmp
|
24
|
+
tmp
|
data/Gemfile
ADDED
data/README.mkdn
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
Atig.rb - Another Twitter Irc Gateway
|
2
|
+
===========================================
|
3
|
+
|
4
|
+
OVERVIEW
|
5
|
+
--------
|
6
|
+
Atig.rb is Twitter Irc Gateway.
|
7
|
+
|
8
|
+
Atig.rb is forked from cho45's tig.rb. We improve some features of tig.rb.
|
9
|
+
|
10
|
+
PREREQUISITES
|
11
|
+
-------------
|
12
|
+
|
13
|
+
* Ruby 1.8 or 1.9
|
14
|
+
* sqlite3-ruby
|
15
|
+
* json(when use Ruby 1.8)
|
16
|
+
* rspec(for unit test)
|
17
|
+
* rake(for unit test)
|
18
|
+
|
19
|
+
HOW TO USE
|
20
|
+
----------
|
21
|
+
|
22
|
+
You type:
|
23
|
+
|
24
|
+
$ cd atig
|
25
|
+
$ ruby atig.rb -d
|
26
|
+
I, [2010-04-05T07:22:07.861527 #62002] INFO -- : Host: localhost Port:16668
|
27
|
+
|
28
|
+
and access localhost:16668 by Irc client.
|
29
|
+
|
30
|
+
DOCUMENTS
|
31
|
+
---------
|
32
|
+
See `docs/`, if you could read Japanese.
|
33
|
+
|
34
|
+
BRANCH POLICY
|
35
|
+
-------------
|
36
|
+
|
37
|
+
* master: a branch for current release.
|
38
|
+
* testing: a branch for next release.
|
39
|
+
* other branches: feature branch
|
40
|
+
|
41
|
+
LICENCE
|
42
|
+
-------
|
43
|
+
This program is free software; you can redistribute it and/or
|
44
|
+
modify it under Ruby Lincence.
|
45
|
+
|
46
|
+
AUTHOR
|
47
|
+
------
|
48
|
+
MIZUNO "mzp" Hiroki (mzp@happyabc.org)
|
49
|
+
|
50
|
+
AVAILABILITY
|
51
|
+
------------
|
52
|
+
The complete atig.rb distribution can be accessed at this[http://mzp.github.com/atig/]..
|
data/Rakefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- mode:ruby -*-
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rake'
|
4
|
+
require 'rake/clean'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rspec/core/rake_task'
|
7
|
+
require "bundler/gem_tasks"
|
8
|
+
|
9
|
+
RSpec::Core::RakeTask.new do |t|
|
10
|
+
t.rspec_opts = ['--color']
|
11
|
+
t.pattern = 'spec/**/*_spec.rb'
|
12
|
+
end
|
13
|
+
|
14
|
+
task :default => [:spec]
|
15
|
+
task :package => [:clean]
|
data/atig.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/atig/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["SHIBATA Hiroshi"]
|
6
|
+
gem.email = ["shibata.hiroshi@gmail.com"]
|
7
|
+
gem.description = %q{Atig.rb is Twitter Irc Gateway.}
|
8
|
+
gem.summary = %q{Atig.rb is forked from cho45's tig.rb. We improve some features of tig.rb.}
|
9
|
+
gem.homepage = "https://github.com/mzp/atig"
|
10
|
+
|
11
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
|
+
gem.files = `git ls-files`.split("\n")
|
13
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
14
|
+
gem.name = "atig"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Atig::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency 'sqlite3-ruby', ['~> 1.2.5']
|
19
|
+
gem.add_dependency 'net-irc', ['>= 0']
|
20
|
+
gem.add_dependency 'oauth', ['>= 0']
|
21
|
+
|
22
|
+
gem.add_dependency 'rake', ['>= 0'] unless defined? Rake
|
23
|
+
gem.add_dependency 'json', ['>= 0'] unless defined? JSON
|
24
|
+
gem.add_development_dependency 'rspec', ['>= 0']
|
25
|
+
end
|
data/bin/atig
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
self_file =
|
4
|
+
if File.symlink?(__FILE__)
|
5
|
+
require 'pathname'
|
6
|
+
Pathname.new(__FILE__).realpath
|
7
|
+
else
|
8
|
+
__FILE__
|
9
|
+
end
|
10
|
+
$:.unshift(File.dirname(self_file) + "/../lib")
|
11
|
+
|
12
|
+
require "optparse"
|
13
|
+
|
14
|
+
opts = {
|
15
|
+
:port => 16668,
|
16
|
+
:host => "localhost",
|
17
|
+
:log => nil,
|
18
|
+
:debug => false,
|
19
|
+
:foreground => false,
|
20
|
+
:conf => '~/.atig/config',
|
21
|
+
}
|
22
|
+
|
23
|
+
OptionParser.new do |parser|
|
24
|
+
parser.instance_eval do
|
25
|
+
self.banner = <<EOB.gsub(/^\t+/, "")
|
26
|
+
age: #{$0} [opts]
|
27
|
+
EOB
|
28
|
+
separator ""
|
29
|
+
|
30
|
+
separator "Options:"
|
31
|
+
on("-p", "--port [PORT=#{opts[:port]}]", "port number to listen") do |port|
|
32
|
+
opts[:port] = port
|
33
|
+
end
|
34
|
+
|
35
|
+
on("-h", "--host [HOST=#{opts[:host]}]", "host name or IP address to listen") do |host|
|
36
|
+
opts[:host] = host
|
37
|
+
end
|
38
|
+
|
39
|
+
on("-l", "--log LOG", "log file") do |log|
|
40
|
+
opts[:log] = log
|
41
|
+
end
|
42
|
+
|
43
|
+
on("--debug", "Enable debug mode") do |debug|
|
44
|
+
opts[:log] ||= $stderr
|
45
|
+
opts[:debug] = true
|
46
|
+
end
|
47
|
+
|
48
|
+
on("--memprof", "Enable memory profiler") do|_|
|
49
|
+
require 'memory_profiler'
|
50
|
+
require 'fileutils'
|
51
|
+
FileUtils.mkdir_p "log"
|
52
|
+
MemoryProfiler.start(:string_debug => true)
|
53
|
+
end
|
54
|
+
|
55
|
+
on("-c","--conf [file=#{opts[:conf]}]", "atig configuration file; default is '~/.atig/config'") do|name|
|
56
|
+
opts[:conf] = name
|
57
|
+
end
|
58
|
+
|
59
|
+
parse!(ARGV)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
require 'logger'
|
64
|
+
opts[:logger] = Logger.new(opts[:log], "weekly")
|
65
|
+
opts[:logger].level = opts[:debug] ? Logger::DEBUG : Logger::INFO
|
66
|
+
|
67
|
+
conf = File.expand_path opts[:conf]
|
68
|
+
if File.exist? conf then
|
69
|
+
opts[:logger].info "Loading #{conf}"
|
70
|
+
load conf
|
71
|
+
end
|
72
|
+
|
73
|
+
require 'atig'
|
74
|
+
Net::IRC::Server.new(opts[:host], opts[:port], Atig::Gateway::Session, opts).start
|
data/docs/OMakefile
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# OMakefile for Sphinx documentation
|
2
|
+
#
|
3
|
+
|
4
|
+
# You can set these variables from the command line.
|
5
|
+
SPHINXOPTS =
|
6
|
+
SPHINXBUILD = sphinx-build
|
7
|
+
PAPER =
|
8
|
+
BUILDDIR = _build
|
9
|
+
|
10
|
+
# Internal variables.
|
11
|
+
PAPEROPT_a4 = -D latex_paper_size=a4
|
12
|
+
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_a4) $(SPHINXOPTS) .
|
13
|
+
|
14
|
+
SRCS[] =
|
15
|
+
index
|
16
|
+
config
|
17
|
+
options
|
18
|
+
tiarra
|
19
|
+
commandline_options
|
20
|
+
commands
|
21
|
+
quickstart
|
22
|
+
feature
|
23
|
+
irc
|
24
|
+
changelog
|
25
|
+
tig
|
26
|
+
|
27
|
+
.PHONY : clean
|
28
|
+
.DEFAULT: $(addsuffix .rst, $(SRCS))
|
29
|
+
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
30
|
+
|
31
|
+
clean:
|
32
|
+
rm -rf $(BUILDDIR)/html/* *~
|
data/docs/OMakeroot
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
########################################################################
|
2
|
+
# Permission is hereby granted, free of charge, to any person
|
3
|
+
# obtaining a copy of this file, to deal in the File without
|
4
|
+
# restriction, including without limitation the rights to use,
|
5
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or
|
6
|
+
# sell copies of the File, and to permit persons to whom the
|
7
|
+
# File is furnished to do so, subject to the following condition:
|
8
|
+
#
|
9
|
+
# THE FILE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
10
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
11
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
12
|
+
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
13
|
+
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
14
|
+
# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE FILE OR
|
15
|
+
# THE USE OR OTHER DEALINGS IN THE FILE.
|
16
|
+
|
17
|
+
########################################################################
|
18
|
+
# The standard OMakeroot file.
|
19
|
+
# You will not normally need to modify this file.
|
20
|
+
# By default, your changes should be placed in the
|
21
|
+
# OMakefile in this directory.
|
22
|
+
#
|
23
|
+
# If you decide to modify this file, note that it uses exactly
|
24
|
+
# the same syntax as the OMakefile.
|
25
|
+
#
|
26
|
+
|
27
|
+
#
|
28
|
+
# Include the standard installed configuration files.
|
29
|
+
# Any of these can be deleted if you are not using them,
|
30
|
+
# but you probably want to keep the Common file.
|
31
|
+
#
|
32
|
+
open build/C
|
33
|
+
open build/OCaml
|
34
|
+
open build/LaTeX
|
35
|
+
|
36
|
+
#
|
37
|
+
# The command-line variables are defined *after* the
|
38
|
+
# standard configuration has been loaded.
|
39
|
+
#
|
40
|
+
DefineCommandVars()
|
41
|
+
|
42
|
+
#
|
43
|
+
# Include the OMakefile in this directory.
|
44
|
+
#
|
45
|
+
.SUBDIRS: .
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/docs/changelog.rst
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
更新履歴
|
2
|
+
==============
|
3
|
+
|
4
|
+
v0.3.2(2010-10-10)
|
5
|
+
------------------------------
|
6
|
+
http://github.com/mzp/atig/tree/v0.3.2
|
7
|
+
|
8
|
+
機能追加
|
9
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
10
|
+
- :doc:`config`: `Atig::IFilter::RetweetTime` を追加しました
|
11
|
+
|
12
|
+
機能修正
|
13
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
14
|
+
- DBのデータ削除の周期を減らしました
|
15
|
+
- DMチャンネルでのDMの送信に対応しました
|
16
|
+
- :doc:`commands`: `limit` にリセットされる日付を表示するようにした (thx. `hirose31`_ )
|
17
|
+
- :doc:`config`: 自動展開するURLにhtn.to, goo.glを追加
|
18
|
+
|
19
|
+
.. _hirose31: http://twitter.com/hirose31
|
20
|
+
|
21
|
+
v0.3.1(2010-07-26)
|
22
|
+
------------------------------
|
23
|
+
http://github.com/mzp/atig/tree/v0.3.1
|
24
|
+
|
25
|
+
機能追加
|
26
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
27
|
+
- :doc:`commands`: `refresh` を追加しました
|
28
|
+
- :doc:`commands`: `spam` を追加しました
|
29
|
+
- :doc:`agent` : 他人のリストをフォローできるようになりました
|
30
|
+
|
31
|
+
機能修正
|
32
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
33
|
+
- キャッシュを/tmp/atigに置くように変更しました。
|
34
|
+
- 定期的にキャッシュ中の古い内容を削除するように変更しました。
|
35
|
+
|
36
|
+
バグ修正
|
37
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
38
|
+
- アンフォローしたユーザがキャッシュ中に残るバグを修正
|
39
|
+
|
40
|
+
|
41
|
+
v0.3.0(2010-06-12)
|
42
|
+
------------------------------
|
43
|
+
http://github.com/mzp/atig/tree/v0.3.0
|
44
|
+
|
45
|
+
機能追加
|
46
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
47
|
+
- :doc:`commands`: `search` を追加しました。(thx. `xeres`_ )
|
48
|
+
|
49
|
+
.. _xeres: http://blog.xeres.jp/2010/06/04/atig_rb-tweet-search/
|
50
|
+
|
51
|
+
機能修正
|
52
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
53
|
+
- キャッシュとして用いているSQLiteのDBにインデックスを貼るようにしました。(thx. `L_star`_ )
|
54
|
+
- 定期的にGCを起動し、メモリ消費量を抑えるようにしました。
|
55
|
+
- 誤ったBit.lyのAPIキーを指定した際のエラーメッセージを分かりやすくしました。( `Issues 1`_ )
|
56
|
+
|
57
|
+
.. _L_Star: http://d.hatena.ne.jp/mzp/20100407#c
|
58
|
+
.. _Issues 1: http://github.com/mzp/atig/issues/closed#issue/1
|
59
|
+
|
60
|
+
バグ修正
|
61
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
v0.2.1(2010-04-17)
|
66
|
+
------------------------------
|
67
|
+
http://github.com/mzp/atig/tree/v0.2.1
|
68
|
+
|
69
|
+
機能追加
|
70
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
71
|
+
- :doc:`commands`: `autofix`, `location` を追加しました。
|
72
|
+
- :doc:`irc`: `/topic` が `/me autofix` のエイリアスになりました。
|
73
|
+
- 最新の発言を削除した場合、トピック(topic)をひとつ前に戻すようにした
|
74
|
+
|
75
|
+
v0.2(2010-04-11)
|
76
|
+
------------------------------
|
77
|
+
http://github.com/mzp/atig/tree/v0.2
|
78
|
+
|
79
|
+
機能追加
|
80
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
81
|
+
- :doc:`options`: `sid` を追加した。
|
82
|
+
- :doc:`config`: `Atig::IFilter::Sid` を追加した。
|
83
|
+
- :doc:`options`: `old_style_reply` を追加した。
|
84
|
+
- :doc:`commands`: `reply`, `retweet`, `destory`, `fav`, `unfav`, `thread` でスクリーンネームやsidを利用できるようにした。
|
85
|
+
|
86
|
+
バグ修正
|
87
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
88
|
+
- followingの取得時にSSL Verified Errorが発生する不具合を修正
|
89
|
+
|
90
|
+
v0.1
|
91
|
+
------------------------------
|
92
|
+
|
93
|
+
http://github.com/mzp/atig/tree/v0.1
|
94
|
+
|
95
|
+
- 最初のリリース
|
96
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
コマンドラインオプション
|
2
|
+
==============================
|
3
|
+
|
4
|
+
書式
|
5
|
+
------------------------------
|
6
|
+
::
|
7
|
+
|
8
|
+
ruby atig.rb [opts]
|
9
|
+
|
10
|
+
オプション
|
11
|
+
------------------------------
|
12
|
+
`-p`, `--port` ``PORT``
|
13
|
+
起動するポート番号を指定します。デフォルトは16668です。
|
14
|
+
`-h`, `--host` ``HOST``
|
15
|
+
起動するホスト名、またはIPアドレスを指定します。デフォルトはlocalhostです。
|
16
|
+
`-l`, `--log` ``LOG``
|
17
|
+
ログを記録するファイル名を指定します。
|
18
|
+
`--debug`
|
19
|
+
デバッグモードを有効にします。
|
20
|
+
`-c`, `--conf` ``filename``
|
21
|
+
ロードする設定ファイルを指定します。詳しくは doc:`conf` を参照してください。
|
data/docs/commands.rst
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
CTCP ACTION
|
2
|
+
==================================
|
3
|
+
|
4
|
+
概要
|
5
|
+
------------------------------
|
6
|
+
|
7
|
+
CTCP ACTIONによって、特定の発言への返信などが行なえます。
|
8
|
+
|
9
|
+
CTCP ACTIONの送り方はクライアントによって異なりますが、LimeChatやirssi
|
10
|
+
では ``/me`` です。 例えば、replyコマンド送信する場合は ``/me reply a`` のようになります。
|
11
|
+
|
12
|
+
発言関係
|
13
|
+
------------------------------
|
14
|
+
発言の指定方法について
|
15
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
16
|
+
|
17
|
+
以下で ``tweet`` と書かれている部分では、次の書式が利用できます。
|
18
|
+
|
19
|
+
- `a`: 一致するtidを持つ発言を指します。
|
20
|
+
- `nick:a`: 一致するsidを持つ発言を指します。
|
21
|
+
- `nick`: @nickの最新の発言を指します。
|
22
|
+
- `@nick`: @nickの最新の発言を指します。
|
23
|
+
|
24
|
+
コマンド
|
25
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
26
|
+
reply ``tweet`` ``comment`` (別名: mention, re, rp)
|
27
|
+
``tweet`` に対して返信します。
|
28
|
+
retweet ``tweet`` [``comment``] (別名: rt, ort)
|
29
|
+
``tweet`` をリツイートします。
|
30
|
+
コメントが省略された場合は、公式リツイートになります。
|
31
|
+
destroy ``tweet`` (別名: remove, rm)
|
32
|
+
``tweet`` を削除する。 ``tweet`` の発言が自分のものでない場合はエラーになります。
|
33
|
+
fav ``tweet``
|
34
|
+
``tweet`` をお気に入りに追加します。
|
35
|
+
unfav ``tweet``
|
36
|
+
``tweet`` をお気に入りから削除します。
|
37
|
+
thread ``tweet`` [``count``]
|
38
|
+
``tweet`` のin_reply_toを辿って、最大 ``count`` 件の会話を表示します。
|
39
|
+
``count`` が省略された場合は10件になります。 ``count`` は20件以上を指定しても無視されます。
|
40
|
+
autofix ``comment`` (別名: topic)
|
41
|
+
最新の発言が ``comment`` と類似している場合はその発言を削除し、 ``comment`` を発言として投稿します。
|
42
|
+
autofix! ``tweet`` (別名: topic!)
|
43
|
+
最新の発言を削除し、 ``comment`` を発言として投稿します。
|
44
|
+
search [ ``option`` ] ``text`` (別名: s)
|
45
|
+
``text`` を含む発言を検索します。
|
46
|
+
オプションは ``:lang=<国コード>`` のみサポートしています。``/me s :lang=ja hoge`` だと日本人のツイートのみを検索します。
|
47
|
+
|
48
|
+
|
49
|
+
ユーザ関係
|
50
|
+
------------------------------
|
51
|
+
userinfo ``screen_name`` (別名: bio)
|
52
|
+
``screen_name`` のユーザのプロフィールを表示します。
|
53
|
+
version ``screen_name``
|
54
|
+
``screen_name`` のクライアントの情報を表示します。最新の発言に用いたクライアント名を表示します。
|
55
|
+
time ``screen_name``
|
56
|
+
``screen_name`` のタイムゾーン情報を表示します。
|
57
|
+
user ``screen_name`` [``count``] (別名: u)
|
58
|
+
``screen_name`` のユーザの最新の発言 ``count`` 件を表示します。
|
59
|
+
``count`` が省略された場合は20件になります。 ``count`` は
|
60
|
+
200件以上を指定しても無視されます。
|
61
|
+
spam ``screen_name``
|
62
|
+
``screen_name`` のユーザをスパムアカウントとして通報します。
|
63
|
+
|
64
|
+
プロフィール関連
|
65
|
+
------------------------------
|
66
|
+
location ``place`` (別名: in, location)
|
67
|
+
自分の現在地を ``place`` に更新します。
|
68
|
+
name ``name``
|
69
|
+
自分の名前を ``name`` に更新します。
|
70
|
+
|
71
|
+
システム関係
|
72
|
+
------------------------------
|
73
|
+
uptime
|
74
|
+
atig.rbの連続起動時間を表示します。
|
75
|
+
limit (別名: limits, rls)
|
76
|
+
残りのAPIへのアクセス可能回数を表示します。
|
77
|
+
opt (別名: opts, option, options)
|
78
|
+
設定された :doc:`options` 一覧を表示します。
|
79
|
+
opt ``name`` (別名: opts, option, options)
|
80
|
+
名前 ``name`` の :doc:`options` が持つ値を表示します。
|
81
|
+
opt ``name`` ``value`` (別名: opts, option, options)
|
82
|
+
名前 ``name`` の :doc:`options` が持つ値を ``value`` に更新します。
|
83
|
+
refresh
|
84
|
+
フォローしているユーザ一覧を再読み込みさせます。
|