marxbot 0.0.2 → 0.0.4

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.
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