tipjar 0.1.171 → 0.1.191

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Bitbot v0.1.16
1
+ # Bitbot v0.1.19
2
2
 
3
3
  An IRC bit-tip style bot using blockchain.info as a payment route.
4
4
 
@@ -111,7 +111,7 @@ module Bitbot::Common
111
111
  btc_str = btc_str.irc(:green)
112
112
  end
113
113
 
114
- usd_str = "[".irc(:grey) + satoshi_to_usd(satoshi).irc(:blue) + "]".irc(:grey)
114
+ usd_str = "[".irc(:grey) + satoshi_to_usd(satoshi).irc(:orange) + "]".irc(:grey)
115
115
 
116
116
  "#{btc_str} #{usd_str}"
117
117
  end
@@ -3,7 +3,7 @@ module Bitbot::Deposit
3
3
  user_id = db.get_or_create_user_id_for_username(m.user.user)
4
4
 
5
5
  unless cached_addresses
6
- m.reply "TipJar is not initialized yet. Please try again later."
6
+ m.reply "Sorry, TipJar is initializing its database. Please try again in a minute."
7
7
  return
8
8
  end
9
9
 
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ require 'isaac'
3
+ # https://github.com/vangberg/isaac
4
+
5
+ on :channel, /.*/ do
6
+ open("#{channel}.log", "a") do |log|
7
+ log.puts "#{nick}: #{message}"
8
+ end
9
+
10
+ puts "#{channel}: #{nick}: #{message}"
11
+ end
@@ -1,5 +1,5 @@
1
1
  module Bitbot::Version
2
2
  def on_version
3
- m.user.msg "I am version 0.1.16 BETA. I am owned and operated by WeirdThall."
3
+ m.user.msg "I am version 0.1.18 BETA. I am owned and operated by WeirdThall."
4
4
  end
5
5
  end
data/lib/bitbot/plugin.rb CHANGED
@@ -43,24 +43,38 @@ class Bitbot::Plugin
43
43
  set :prefix, ""
44
44
 
45
45
  #
46
- # Private messages
46
+ # Private messages ~ replies sent via PRIVMSG
47
47
  #
48
48
  match /^help(.*)$/, :method => :on_help, :react_on => :private
49
49
  match /^balance$/, :method => :on_balance, :react_on => :private
50
50
  match /^history$/, :method => :on_history, :react_on => :private
51
51
  match /^withdraw(.*)$/, :method => :on_withdraw, :react_on => :private
52
52
  match /^deposit$/, :method => :on_deposit, :react_on => :private
53
- match /^\+tip\s+(\w+)\s+([\d.]+)\s+?(.*)/, :method => :on_tip, :react_on => :private
53
+ match /^ping$/, :method => :on_ping, :react_on => :private
54
54
  # match /^\+prize\s+(\w+)\s+([\d.]+)\s+?(.*)/, :method => :on_prize, :react_on => :private
55
55
 
56
56
  #
57
- # Channel messages
57
+ # Private messages ~ replies sent via channel
58
+ #
59
+ match /^\+tip\s+(\w+)\s+([\d.]+)\s+?(.*)/, :method => :on_tip, :react_on => :channel
60
+
61
+ #
62
+ # Channel messages ~ replies sent via channel
58
63
  #
59
64
  match /^\+help(.*)$/, :method => :on_help, :react_on => :channel
60
65
  match /^\+tipstats$/, :method => :on_tipstats, :react_on => :channel
61
66
  match /^\+tip\s+(\w+)\s+([\d.]+)\s+?(.*)/, :method => :on_tip, :react_on => :channel
62
- match /^\+doc$/, :method => :on_tipstats, :react_on => :channel
63
- match /^\+ticker$/, :method => :on_tipstats, :react_on => :channel
67
+ match /^\+doc$/, :method => :on_doc, :react_on => :channel
68
+ match /^\+ticker$/, :method => :on_ticker, :react_on => :channel
69
+ match /^\+txfee$/, :method => :on_txfee, :react_on => :channel
70
+ match /^\+version$/, :method => :on_version, :react_on => :channel
71
+
72
+ #
73
+ # Channel messages ~ replies sent via PRIVMSG
74
+ #
75
+ match /^\+balance$/, :method => :on_balance, :react_on => :private
76
+ match /^\+help$/, :method => :on_help, :react_on => :private
77
+ match /^\+history$/, :method => :on_history, :react_on => :private
64
78
 
65
79
  #
66
80
  # Timer jobs
@@ -74,7 +88,7 @@ class Bitbot::Plugin
74
88
  #
75
89
  listen_to :connect, :method => :on_update_exchange_rates
76
90
  listen_to :connect, :method => :on_update_addresses
77
- listen_to :connect, :method => :on_online
78
- listen_to :connect, :method => :on_doc
91
+ # listen_to :connect, :method => :on_online
92
+ # listen_to :connect, :method => :on_doc
79
93
 
80
94
  end
data/tipjar.gemspec CHANGED
@@ -2,13 +2,14 @@ $:.push File.expand_path("../lib", __FILE__)
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{tipjar}
5
- s.version = "0.1.171"
5
+ s.version = "0.1.191"
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.authors = ["WeirdThall", "Zach Wily"]
8
8
  s.email = ["weirdthall@gmail.com", "zach@zwily.com"]
9
9
  s.homepage = %q{http://github.com/weirdthall/TipJar}
10
10
  s.summary = %q{Bitcoin IRC Tip Bot}
11
11
  s.description = ["A Bitcoin IRC Tip Bot on freenode"]
12
+ s.license = "MIT"
12
13
 
13
14
  s.files = `git ls-files`.split("\n")
14
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tipjar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.171
4
+ version: 0.1.191
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-11-06 00:00:00.000000000 Z
13
+ date: 2013-11-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cinch
@@ -120,7 +120,6 @@ files:
120
120
  - .gitignore
121
121
  - Gemfile
122
122
  - README.md
123
- - README_old.md
124
123
  - Rakefile
125
124
  - bin/bitbot
126
125
  - bitbot.gemspec
@@ -133,6 +132,7 @@ files:
133
132
  - lib/bitbot/plugin/doc.rb
134
133
  - lib/bitbot/plugin/help.rb
135
134
  - lib/bitbot/plugin/history.rb
135
+ - lib/bitbot/plugin/log.rb
136
136
  - lib/bitbot/plugin/online.rb
137
137
  - lib/bitbot/plugin/ping.rb
138
138
  - lib/bitbot/plugin/prize.rb
@@ -147,7 +147,8 @@ files:
147
147
  - lib/ircstring.rb
148
148
  - tipjar.gemspec
149
149
  homepage: http://github.com/weirdthall/TipJar
150
- licenses: []
150
+ licenses:
151
+ - MIT
151
152
  post_install_message:
152
153
  rdoc_options: []
153
154
  require_paths:
data/README_old.md DELETED
@@ -1,140 +0,0 @@
1
- # Bitbot
2
-
3
- An IRC bit-tip style bot. Just for fun, don't use with lots of coins.
4
-
5
- ## Security
6
-
7
- **You probably don't want to use this.**
8
-
9
- This section is first because anything Bitcoin related seems to attract
10
- l33t hax0rs. This is just a toy. You probably shouldn't use it, and if
11
- you do, you shouldn't put much money into it. Here's why:
12
-
13
- Bitbot does not operate on nicknames, but usernames. Therefore, it's
14
- only secure on IRC networks where usernames are forced. *This probably
15
- isn't true of whatever IRC network you're on.* (On our IRC network,
16
- usernames cannot be spoofed.) In order to be secure, the bot would need
17
- to authenticate users in some other way, perhaps by using NickServ or
18
- something. Pull requests accepted.
19
-
20
- Bitbot uses an online wallet at https://blockchain.info. This was
21
- because it was the easiest path forward, but it is not the most secure.
22
- Blockchain.info itself seems reasonably secure, but if someone were to
23
- breach its servers, they would be able to steal all the coins stored by
24
- Bitbot. A better setup would be for Bitbot to perform its own
25
- transactions on the Bitcoin network. Pull requests accepted. :)
26
-
27
- Bitbot is based on a Ruby IRC library called
28
- [Cinch](https://github.com/cinchrb/cinch). I have no idea how secure
29
- Cinch is - it's possible that it has a remote code execution
30
- vulnerability. If it does, an attacker can steal all the coins from
31
- Bitbot.
32
-
33
- Hopefully the above has scared you off from installing this and using it
34
- on Freenode. If it didn't, then you deserve to lose whatever you put in.
35
- You could just send it to me directly instead:
36
- `1zachsQ82fM7DC4HZQXMAAmkZ2Qg7pH2V`.
37
-
38
- ## How Does It Work
39
-
40
- Bitbot lets people in IRC send each other Bitcoin. It's loosely modelled
41
- after the [Reddit Bitcointip](http://redd.it/13iykn).
42
-
43
- The big difference is that in Bitbot, tips between users do not show up
44
- in the blockchain. Bitbot maintains a wallet with all of the deposited
45
- funds, and then keeps a record of transactions between users. Only
46
- deposits and withdrawals to and from Bitbot show up in the Bitcoin
47
- blockchain.
48
-
49
- We do this because our tips are generally pretty tiny, and if each one
50
- were a real transaction, our entire "Bitconomy" would be eaten up by
51
- transaction fees.
52
-
53
- ## Installation
54
-
55
- * Install the dependencies (sqlite3)
56
-
57
- * Install the gem:
58
-
59
- ```bash
60
- gem install bitbot
61
- ```
62
-
63
- * Create an online wallet at https://blockchain.info/wallet/ . Create a
64
- secondary password on it, and I suggest locking access to the IP from
65
- which your bot will be running for an little extra security. It's
66
- probably also good to set up (encrypted) wallet backups to go to your
67
- email address.
68
-
69
- * Create a data directory for Bitbot:
70
-
71
- ```bash
72
- $ mkdir ~/.bitbot
73
- ```
74
-
75
- * Create a bitbot.yml file that looks like this:
76
-
77
- ```yaml
78
- irc:
79
- server: irc.example.com
80
- port: 8765
81
- ssl: true
82
- nick: bitbot
83
- username: bitbot@example.com
84
- password: blahblah
85
-
86
- blockchain:
87
- wallet_id: <long guid>
88
- password1: <password>
89
- password2: <secondary password>
90
- withdrawal_fee: <fee in satoshi, default: 50000>
91
-
92
- data:
93
- path: /home/me/.bitbot
94
- ```
95
-
96
- * Start the bot:
97
-
98
- ```bash
99
- $ bitbot start <path to config.yml>
100
- ```
101
-
102
- ## Usage
103
-
104
- ### Help
105
-
106
- To get help, `/msg bitbot help`. He will respond with a list of commands
107
- he supports:
108
-
109
- ```
110
- bitbot: Commands: deposit, balance, history, withdrawal
111
- ```
112
-
113
- ### Deposit
114
-
115
- To make a deposit to your Bitbot account, ask bitbot for your depositing
116
- address: `/msg bitbot deposit`. Bitbot will respond with a Bitcoin
117
- address to send coins to. Once
118
-
119
- ### Tipping
120
-
121
- To tip somebody, you must both be in a room with Bitbot. The syntax is
122
- `+tip <nickname> <amount in BTC> <message>`. When Bitbot sees that, it
123
- verifies that you have the funds to tip, does a `whois` on the recipient
124
- nickname, and then transfers the funds. He then responds with a
125
- confirmation:
126
-
127
- ```
128
- bob: how do i make rails tests fast?
129
- john: refactor your app so you can test it without rails
130
- bob: +tip john 0.01 ur so smart
131
- bitbot: [✔] Verified: bob ➜ ฿+0.01 [$1.12] ➜ john
132
- ```
133
-
134
- ### Withdrawing
135
-
136
- When you want to withdraw funds to another Bitcoin address, just tell
137
- Bitbot: `/msg bitbot withdraw <amount> <address>`.
138
-
139
- Bitbot will verify that you have enough money, and send `<amount>` BTC -
140
- 0.0005 (to cover the transaction fee) to the specified `<address>`.