elephrame 0.4.6 → 0.5
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/Gemfile +2 -0
- data/Gemfile.lock +24 -11
- data/README.md +6 -4
- data/elephrame.gemspec +2 -1
- data/examples/ebooks.rb +24 -0
- data/examples/getting_started.org +484 -0
- data/examples/markov.rb +20 -0
- data/examples/markov_files/manifesto.txt +1886 -0
- data/examples/{combined.rb → periodic_interact.rb} +0 -0
- data/examples/tracery_simple.rb +2 -0
- data/lib/elephrame/mix/bots.rb +317 -7
- data/lib/elephrame/mix/generative.rb +244 -0
- data/lib/elephrame/mix/tracery.rb +15 -12
- data/lib/elephrame/rest/rest.rb +1 -1
- data/lib/elephrame/streaming/command.rb +1 -1
- data/lib/elephrame/streaming/reply.rb +1 -1
- data/lib/elephrame/streaming/streaming.rb +3 -2
- data/lib/elephrame/util/account.rb +16 -0
- data/lib/elephrame/util/status.rb +16 -5
- data/lib/elephrame/version.rb +1 -1
- data/lib/elephrame.rb +1 -1
- metadata +38 -4
@@ -0,0 +1,16 @@
|
|
1
|
+
module Mastodon
|
2
|
+
class Account
|
3
|
+
NoBotRegex = /#?NoBot/i
|
4
|
+
|
5
|
+
##
|
6
|
+
# Checks to see if a user has some form of "#NoBot" in their bio or in
|
7
|
+
# their profile fields (so we can make making friendly bots easier!)
|
8
|
+
#
|
9
|
+
# @return [Bool]
|
10
|
+
|
11
|
+
def no_bot?
|
12
|
+
note =~ NoBotRegex ||
|
13
|
+
fields.any? {|f| f.name =~ NoBotRegex || f.value =~ NoBotRegex}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,6 +1,10 @@
|
|
1
|
+
require 'htmlentities'
|
2
|
+
|
1
3
|
module Mastodon
|
2
4
|
class Status
|
3
5
|
alias_method :rcontent, :content
|
6
|
+
|
7
|
+
Decoder = HTMLEntities.new
|
4
8
|
|
5
9
|
##
|
6
10
|
# Strips all html tags out of +content+
|
@@ -8,11 +12,18 @@ module Mastodon
|
|
8
12
|
# @return [String]
|
9
13
|
|
10
14
|
def strip
|
11
|
-
rcontent
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
Decoder.decode(rcontent
|
16
|
+
.gsub(/(<\/p><p>|<br\s*\/?>)/, "\n")
|
17
|
+
.gsub(/<("[^"]*"|'[^']*'|[^'">])*>/, ''))
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Returns whether or not the status is a reblogged status
|
22
|
+
#
|
23
|
+
# @return [Boolean]
|
24
|
+
|
25
|
+
def is_reblog?
|
26
|
+
not @attributes['reblog'].nil?
|
16
27
|
end
|
17
28
|
end
|
18
29
|
end
|
data/lib/elephrame/version.rb
CHANGED
data/lib/elephrame.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'moostodon'
|
2
2
|
require_relative 'elephrame/util/status'
|
3
|
+
require_relative 'elephrame/util/account'
|
3
4
|
|
4
5
|
require_relative 'elephrame/version'
|
5
6
|
require_relative 'elephrame/streaming/bots'
|
6
7
|
require_relative 'elephrame/rest/bots'
|
7
8
|
require_relative 'elephrame/mix/bots'
|
8
|
-
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elephrame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zac
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.4.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: moo_ebooks
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: tracery
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +108,20 @@ dependencies:
|
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0.7'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: htmlentities
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '4.0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.0'
|
97
125
|
description:
|
98
126
|
email:
|
99
127
|
- thezacattacks@gmail.com
|
@@ -113,11 +141,15 @@ files:
|
|
113
141
|
- bin/setup
|
114
142
|
- elephrame.gemspec
|
115
143
|
- examples/README.md
|
116
|
-
- examples/combined.rb
|
117
144
|
- examples/command.rb
|
145
|
+
- examples/ebooks.rb
|
146
|
+
- examples/getting_started.org
|
118
147
|
- examples/interact.rb
|
148
|
+
- examples/markov.rb
|
149
|
+
- examples/markov_files/manifesto.txt
|
119
150
|
- examples/notbot_check.rb
|
120
151
|
- examples/periodic.rb
|
152
|
+
- examples/periodic_interact.rb
|
121
153
|
- examples/reply.rb
|
122
154
|
- examples/tracery_adv.rb
|
123
155
|
- examples/tracery_files/default.json
|
@@ -132,6 +164,7 @@ files:
|
|
132
164
|
- lib/elephrame.rb
|
133
165
|
- lib/elephrame/bot.rb
|
134
166
|
- lib/elephrame/mix/bots.rb
|
167
|
+
- lib/elephrame/mix/generative.rb
|
135
168
|
- lib/elephrame/mix/tracery.rb
|
136
169
|
- lib/elephrame/rest/bots.rb
|
137
170
|
- lib/elephrame/rest/rest.rb
|
@@ -141,6 +174,7 @@ files:
|
|
141
174
|
- lib/elephrame/streaming/reply.rb
|
142
175
|
- lib/elephrame/streaming/streaming.rb
|
143
176
|
- lib/elephrame/streaming/watcher.rb
|
177
|
+
- lib/elephrame/util/account.rb
|
144
178
|
- lib/elephrame/util/status.rb
|
145
179
|
- lib/elephrame/version.rb
|
146
180
|
homepage: https://github.com/theZacAttacks/elephrame
|
@@ -166,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
200
|
- !ruby/object:Gem::Version
|
167
201
|
version: '0'
|
168
202
|
requirements: []
|
169
|
-
rubygems_version: 3.0.
|
203
|
+
rubygems_version: 3.0.4
|
170
204
|
signing_key:
|
171
205
|
specification_version: 4
|
172
206
|
summary: A framework for assisting in making mastodon/pleroma bots
|