marxbot 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/marxbot.rb +19 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 61bdd6c0ff7b986f5a063d292ee6021c7b50454e5b7ce093239fa18ab3880f27
4
- data.tar.gz: e41bec21ce0abdd6d98493e0fce23a7c9f2f7f255389baa9f7d46746ae294f44
3
+ metadata.gz: 63e3c615b2db7068cb95eb5a7600ce466afcd188b7d834159fa558870db62de3
4
+ data.tar.gz: 2389f37fc361f44451e194eff6248d16cfcb991b0f3de5aa27ba5809e8d9f81d
5
5
  SHA512:
6
- metadata.gz: a42a3a3cc2697c511f026a186ddddf6b69c2dd250438bb5a82985d7a19c177475cbae18d0258a4077ebe6466382b4a27f4ff5c18bb31d81a2ec0a2ffdc116c8e
7
- data.tar.gz: 190f3f49c6603002649185c544ef74e5cf389425a287b82ea51e69f8c76a71b4f93b924e66bd7660a4f61f79bc3d1e7b4cb9f458c4136c29849ac9b60755b717
6
+ metadata.gz: 6e29c5f4ad5b02412569740dc4060ba0e5841e8e0792f27ebb115895f9c96d655e587f95921a8773d6927039dd20f3b350743141482301dd4105f4c1a5721db8
7
+ data.tar.gz: 6dc8c63cb2a2ce78b49ff4f3ba50a78cb2b85965e22c32133f1736fc434d1d4e6f6ff37190e5441c0dc8ea45c6b5de90be8a0553ff5393ef65a0d3f23d75e842
data/lib/marxbot.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'discordrb'
2
- require 'dotenv/load' # Only for local use
2
+ # require 'dotenv/load' # Only for local use
3
3
  require 'nokogiri'
4
4
  require 'open-uri'
5
5
  require_relative 'marxbot/tarot/fortune'
@@ -7,14 +7,23 @@ require_relative 'marxbot/tarot/fortune'
7
7
 
8
8
 
9
9
  class MarxBot
10
- def initialize(token:)
10
+ attr_reader :bot, :auto_stop, :stop_time
11
+ def initialize(token:, auto_stop:false, stop_time:60*15)
11
12
  @token = token
13
+ @auto_stop = auto_stop
14
+ @stop_time = stop_time
12
15
  @bot = Discordrb::Bot.new token: @token
13
16
  @noun_path = File.join(File.dirname(__FILE__), "noun.json")
14
17
  @adjective_path = File.join(File.dirname(__FILE__), "adjective.json")
15
18
  @slogan_path = File.join(File.dirname(__FILE__), "slogans.json")
16
19
  end
17
20
 
21
+ def stop_eventually()
22
+ sleep(@stop_time)
23
+ @bot.stop
24
+ puts "$$$ The Bot should be stopped $$$"
25
+ end
26
+
18
27
  def get_slogan()
19
28
  all_slogans = slogan_dict["slogans"]
20
29
  slogan_number = Random.new.rand(all_slogans.length)
@@ -221,9 +230,13 @@ class MarxBot
221
230
  end
222
231
  end
223
232
 
224
- @bot.run
233
+ if @auto_stop
234
+ threads = []
235
+ threads << Thread.new { @bot.run }
236
+ threads << Thread.new { self.stop_eventually() }
237
+ threads.each(&:join)
238
+ else
239
+ @bot.run
240
+ end
225
241
  end
226
242
  end
227
-
228
- x = MarxBot.new(token: ENV['BOT_TOKEN'])
229
- x.run
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marxbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Suarez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-07 00:00:00.000000000 Z
11
+ date: 2023-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri