discorb 0.0.6 → 0.2.0

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.
data/docs/extension.md ADDED
@@ -0,0 +1,53 @@
1
+ # @title Extension
2
+
3
+ # Extension
4
+
5
+ Extension allows you to split your code into multiple files.
6
+
7
+ ## Make a new extension
8
+
9
+ Make a new module, and extend {Discorb::Extension}.
10
+
11
+ ```ruby
12
+ module MyExtension
13
+ extend Discorb::Extension
14
+
15
+ # ...
16
+ end
17
+ ```
18
+
19
+ ## Register Event
20
+
21
+ Use {Extension#event} to register event, or {Extension#once_event} to register event only once.
22
+
23
+ ```ruby
24
+ module MyExtension
25
+ extend Discorb::Extension
26
+
27
+ event :message do |message|
28
+ # ...
29
+ end
30
+
31
+ once_event :ready do |message|
32
+ # ...
33
+ end
34
+ end
35
+ ```
36
+
37
+ ## Load extension
38
+
39
+ Use {Client#extend} to load extension.
40
+
41
+ ## Access Client from extension
42
+
43
+ You can access {Client} from extension with `@client`.
44
+
45
+ ```ruby
46
+ module MyExtension
47
+ extend Discorb::Extension
48
+
49
+ event :ready do |message|
50
+ puts "Logged in as #{client.user}"
51
+ end
52
+ end
53
+ ```
data/docs/voice_events.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### Voice Channel Events
6
6
 
7
- #### `voice_channel_connect(task, state)`
7
+ #### `voice_channel_connect(state)`
8
8
 
9
9
  Fires when someone joins a voice channel.
10
10
 
@@ -12,7 +12,7 @@ Fires when someone joins a voice channel.
12
12
  | --- | --- | --- |
13
13
  | state | {Discorb::VoiceState} | The voice state of the user that joined. |
14
14
 
15
- #### `voice_channel_disconnect(task, state)`
15
+ #### `voice_channel_disconnect(state)`
16
16
 
17
17
  Fires when someone leaves a voice channel.
18
18
 
@@ -20,7 +20,7 @@ Fires when someone leaves a voice channel.
20
20
  | --- | --- | --- |
21
21
  | state | {Discorb::VoiceState} | The voice state of the user that left. |
22
22
 
23
- #### `voice_channel_move(task, before, after)`
23
+ #### `voice_channel_move(before, after)`
24
24
 
25
25
  Fires when someone moves to a different voice channel.
26
26
 
@@ -29,7 +29,7 @@ Fires when someone moves to a different voice channel.
29
29
  | before | {Discorb::VoiceState} | The voice state of the user before the move. |
30
30
  | after | {Discorb::VoiceState} | The voice state of the user after the move. |
31
31
 
32
- #### `voice_channel_update(task, before, after)`
32
+ #### `voice_channel_update(before, after)`
33
33
 
34
34
  Fires when a voice channel is connected, disconnected, or updated.
35
35
 
@@ -40,7 +40,7 @@ Fires when a voice channel is connected, disconnected, or updated.
40
40
 
41
41
  ### Mute Events
42
42
 
43
- #### `voice_mute_disable(task, state)`
43
+ #### `voice_mute_disable(state)`
44
44
 
45
45
  Fires when a user's voice mute is disabled.
46
46
 
@@ -48,7 +48,7 @@ Fires when a user's voice mute is disabled.
48
48
  | --- | --- | --- |
49
49
  | `state` | {Discorb::VoiceState} | The voice state. |
50
50
 
51
- #### `voice_mute_enable(task, state)`
51
+ #### `voice_mute_enable(state)`
52
52
 
53
53
  Fires when a user's voice mute is enabled.
54
54
 
@@ -56,7 +56,7 @@ Fires when a user's voice mute is enabled.
56
56
  | --- | --- | --- |
57
57
  | `state` | {Discorb::VoiceState} | The voice state. |
58
58
 
59
- #### `voice_mute_update(task, before, after)`
59
+ #### `voice_mute_update(before, after)`
60
60
 
61
61
  Fires when a user's voice mute is enabled or disabled.
62
62
 
@@ -65,7 +65,7 @@ Fires when a user's voice mute is enabled or disabled.
65
65
  | `before` | {Discorb::VoiceState} | The voice state before the update. |
66
66
  | `after` | {Discorb::VoiceState} | The voice state after the update. |
67
67
 
68
- #### `voice_server_mute_enable(task, state)`
68
+ #### `voice_server_mute_enable(state)`
69
69
 
70
70
  Fires when a user's server voice mute is enabled.
71
71
 
@@ -73,7 +73,7 @@ Fires when a user's server voice mute is enabled.
73
73
  | --- | --- | --- |
74
74
  | `state` | {Discorb::VoiceState} | The voice state. |
75
75
 
76
- #### `voice_server_mute_disable(task, state)`
76
+ #### `voice_server_mute_disable(state)`
77
77
 
78
78
  Fires when a user's server voice mute is disabled.
79
79
 
@@ -81,7 +81,7 @@ Fires when a user's server voice mute is disabled.
81
81
  | --- | --- | --- |
82
82
  | `state` | {Discorb::VoiceState} | The voice state. |
83
83
 
84
- #### `voice_server_mute_update(task, before, after)`
84
+ #### `voice_server_mute_update(before, after)`
85
85
 
86
86
  Fires when a user's server voice mute is enabled or disabled.
87
87
 
@@ -90,7 +90,7 @@ Fires when a user's server voice mute is enabled or disabled.
90
90
  | `before` | {Discorb::VoiceState} | The voice state before the update. |
91
91
  | `after` | {Discorb::VoiceState} | The voice state after the update. |
92
92
 
93
- #### `voice_self_mute_enable(task, state)`
93
+ #### `voice_self_mute_enable(state)`
94
94
 
95
95
  Fires when a user's self voice mute is enabled.
96
96
 
@@ -98,7 +98,7 @@ Fires when a user's self voice mute is enabled.
98
98
  | --- | --- | --- |
99
99
  | `state` | {Discorb::VoiceState} | The voice state. |
100
100
 
101
- #### `voice_self_mute_disable(task, state)`
101
+ #### `voice_self_mute_disable(state)`
102
102
 
103
103
  Fires when a user's self voice mute is disabled.
104
104
 
@@ -106,7 +106,7 @@ Fires when a user's self voice mute is disabled.
106
106
  | --- | --- | --- |
107
107
  | `state` | {Discorb::VoiceState} | The voice state. |
108
108
 
109
- #### `voice_self_mute_update(task, before, after)`
109
+ #### `voice_self_mute_update(before, after)`
110
110
 
111
111
  Fires when a user's self voice mute is enabled or disabled.
112
112
 
@@ -117,7 +117,7 @@ Fires when a user's self voice mute is enabled or disabled.
117
117
 
118
118
  ### Deaf Events
119
119
 
120
- #### `voice_deaf_enable(task, state)`
120
+ #### `voice_deaf_enable(state)`
121
121
 
122
122
  Fires when a user's voice deaf is enabled.
123
123
 
@@ -125,7 +125,7 @@ Fires when a user's voice deaf is enabled.
125
125
  | --- | --- | --- |
126
126
  | `state` | {Discorb::VoiceState} | The voice state. |
127
127
 
128
- #### `voice_deaf_disable(task, state)`
128
+ #### `voice_deaf_disable(state)`
129
129
 
130
130
  Fires when a user's voice deaf is disabled.
131
131
 
@@ -133,7 +133,7 @@ Fires when a user's voice deaf is disabled.
133
133
  | --- | --- | --- |
134
134
  | `state` | {Discorb::VoiceState} | The voice state. |
135
135
 
136
- #### `voice_deaf_update(task, before, after)`
136
+ #### `voice_deaf_update(before, after)`
137
137
 
138
138
  Fires when a user's voice deaf is enabled or disabled.
139
139
 
@@ -142,7 +142,7 @@ Fires when a user's voice deaf is enabled or disabled.
142
142
  | `before` | {Discorb::VoiceState} | The voice state before the update. |
143
143
  | `after` | {Discorb::VoiceState} | The voice state after the update. |
144
144
 
145
- #### `voice_server_deaf_enable(task, state)`
145
+ #### `voice_server_deaf_enable(state)`
146
146
 
147
147
  Fires when a user's server voice deaf is enabled.
148
148
 
@@ -150,7 +150,7 @@ Fires when a user's server voice deaf is enabled.
150
150
  | --- | --- | --- |
151
151
  | `state` | {Discorb::VoiceState} | The voice state. |
152
152
 
153
- #### `voice_server_deaf_disable(task, state)`
153
+ #### `voice_server_deaf_disable(state)`
154
154
 
155
155
  Fires when a user's server voice deaf is disabled.
156
156
 
@@ -158,7 +158,7 @@ Fires when a user's server voice deaf is disabled.
158
158
  | --- | --- | --- |
159
159
  | `state` | {Discorb::VoiceState} | The voice state. |
160
160
 
161
- #### `voice_server_deaf_update(task, before, after)`
161
+ #### `voice_server_deaf_update(before, after)`
162
162
 
163
163
  Fires when a user's server voice deaf is enabled or disabled.
164
164
 
@@ -167,7 +167,7 @@ Fires when a user's server voice deaf is enabled or disabled.
167
167
  | `before` | {Discorb::VoiceState} | The voice state before the update. |
168
168
  | `after` | {Discorb::VoiceState} | The voice state after the update. |
169
169
 
170
- #### `voice_self_deaf_enable(task, state)`
170
+ #### `voice_self_deaf_enable(state)`
171
171
 
172
172
  Fires when a user's self voice deaf is enabled.
173
173
 
@@ -175,7 +175,7 @@ Fires when a user's self voice deaf is enabled.
175
175
  | --- | --- | --- |
176
176
  | `state` | {Discorb::VoiceState} | The voice state. |
177
177
 
178
- #### `voice_self_deaf_disable(task, state)`
178
+ #### `voice_self_deaf_disable(state)`
179
179
 
180
180
  Fires when a user's self voice deaf is disabled.
181
181
 
@@ -183,7 +183,7 @@ Fires when a user's self voice deaf is disabled.
183
183
  | --- | --- | --- |
184
184
  | `state` | {Discorb::VoiceState} | The voice state. |
185
185
 
186
- #### `voice_self_deaf_update(task, before, after)`
186
+ #### `voice_self_deaf_update(before, after)`
187
187
 
188
188
  | Parameter | Type | Description |
189
189
  | --- | --- | --- |
@@ -192,7 +192,7 @@ Fires when a user's self voice deaf is disabled.
192
192
 
193
193
  ### Stream Events
194
194
 
195
- #### `voice_stream_start(task, state)`
195
+ #### `voice_stream_start(state)`
196
196
 
197
197
  Fires when a stream is started.
198
198
 
@@ -200,7 +200,7 @@ Fires when a stream is started.
200
200
  | --- | --- | --- |
201
201
  | `state` | {Discorb::VoiceState} | The voice state. |
202
202
 
203
- #### `voice_stream_end(task, state)`
203
+ #### `voice_stream_end(state)`
204
204
 
205
205
  Fires when a stream is ended.
206
206
 
@@ -208,7 +208,7 @@ Fires when a stream is ended.
208
208
  | --- | --- | --- |
209
209
  | `state` | {Discorb::VoiceState} | The voice state. |
210
210
 
211
- #### `voice_stream_update(task, before, after)`
211
+ #### `voice_stream_update(before, after)`
212
212
 
213
213
  Fires when a stream is started or ended.
214
214
 
@@ -219,7 +219,7 @@ Fires when a stream is started or ended.
219
219
 
220
220
  ### Video Events
221
221
 
222
- #### `voice_video_start(task, state)`
222
+ #### `voice_video_start(state)`
223
223
 
224
224
  Fires when a video is started.
225
225
 
@@ -227,7 +227,7 @@ Fires when a video is started.
227
227
  | --- | --- | --- |
228
228
  | `state` | {Discorb::VoiceState} | The voice state. |
229
229
 
230
- #### `voice_video_end(task, state)`
230
+ #### `voice_video_end(state)`
231
231
 
232
232
  Fires when a video is ended.
233
233
 
@@ -235,7 +235,7 @@ Fires when a video is ended.
235
235
  | --- | --- | --- |
236
236
  | `state` | {Discorb::VoiceState} | The voice state. |
237
237
 
238
- #### `voice_video_update(task, before, after)`
238
+ #### `voice_video_update(before, after)`
239
239
 
240
240
  Fires when a video is started or ended.
241
241
 
@@ -246,7 +246,7 @@ Fires when a video is started or ended.
246
246
 
247
247
  ### Stage Instances Events
248
248
 
249
- #### `stage_instance_create(task, instance)`
249
+ #### `stage_instance_create(instance)`
250
250
 
251
251
  Fires when a new stage instance is created.
252
252
 
@@ -254,7 +254,7 @@ Fires when a new stage instance is created.
254
254
  | --- | --- | --- |
255
255
  | `instance` | {Discorb::StageInstance} | The created instance. |
256
256
 
257
- #### `stage_instance_delete(task, instance)`
257
+ #### `stage_instance_delete(instance)`
258
258
 
259
259
  Fires when a stage instance is deleted.
260
260
 
@@ -262,7 +262,7 @@ Fires when a stage instance is deleted.
262
262
  | --- | --- | --- |
263
263
  | `instance` | {Discorb::StageInstance} | The deleted instance. |
264
264
 
265
- #### `stage_instance_update(task, before, after)`
265
+ #### `stage_instance_update(before, after)`
266
266
 
267
267
  Fires when a stage instance is updated.
268
268
 
@@ -273,7 +273,7 @@ Fires when a stage instance is updated.
273
273
 
274
274
  ### Misc Events
275
275
 
276
- #### `voice_state_update(task, before, after)`
276
+ #### `voice_state_update(before, after)`
277
277
 
278
278
  Fired when a user changes voice state.
279
279
 
@@ -0,0 +1,41 @@
1
+ require "discorb"
2
+ require "json"
3
+
4
+ client = Discorb::Client.new
5
+
6
+ client.once :ready do
7
+ puts "Logged in as #{client.user}"
8
+ end
9
+
10
+ def bookmark_channel(guild)
11
+ guild.channels.find { |c| c.is_a?(Discorb::TextChannel) && c.name == "bookmarks" }
12
+ end
13
+
14
+ def build_embed_from_message(message)
15
+ embed = Discorb::Embed.new
16
+ embed.description = message.content
17
+ embed.author = Discorb::Embed::Author.new(message.author.to_s_user, icon: message.author.avatar.url)
18
+ embed.timestamp = message.timestamp
19
+ embed.footer = Discorb::Embed::Footer.new("Message ID: #{message.id}")
20
+ embed
21
+ end
22
+
23
+ client.message_command("Bookmark", guild_ids: [857373681096327180]) do |interaction, message|
24
+ unless channel = bookmark_channel(interaction.guild)
25
+ interaction.post("Bookmark channel not found. Please create one called `bookmarks`.", ephemeral: true)
26
+ next
27
+ end
28
+ channel.post(
29
+ message.jump_url,
30
+ embed: build_embed_from_message(message),
31
+ ).wait
32
+ interaction.post("Bookmarked!", ephemeral: true)
33
+ end
34
+
35
+ client.change_presence(
36
+ Discorb::Activity.new(
37
+ "Open message context menu to bookmark"
38
+ )
39
+ )
40
+
41
+ client.run(ENV["DISCORD_BOT_TOKEN"])
@@ -0,0 +1,9 @@
1
+ require "discorb"
2
+
3
+ client = Discorb::Client.new
4
+
5
+ client.slash("hello", "Greet for you") do |interaction|
6
+ interaction.post("Hello!", ephemeral: true)
7
+ end
8
+
9
+ client.run(ENV["DISCORD_BOT_TOKEN"])
@@ -0,0 +1,24 @@
1
+ require "discorb"
2
+
3
+ client = Discorb::Client.new
4
+
5
+ client.once :ready do
6
+ puts "Logged in as #{client.user}"
7
+ end
8
+
9
+ client.user_command("Info", guild_ids: [857373681096327180]) do |interaction|
10
+ interaction.post(embed: Discorb::Embed.new(
11
+ "Information of #{interaction.target.to_s_user}",
12
+ fields: [
13
+ Discorb::Embed::Field.new("User", interaction.target.to_s_user),
14
+ Discorb::Embed::Field.new("ID", interaction.target.id),
15
+ Discorb::Embed::Field.new("Bot", interaction.target.bot? ? "Yes" : "No"),
16
+ Discorb::Embed::Field.new("Joined at", interaction.target.joined_at.to_df("F")),
17
+ Discorb::Embed::Field.new("Created at", interaction.target.created_at.to_df("F")),
18
+ ],
19
+ thumbnail: interaction.target.avatar&.url,
20
+
21
+ ), hide: true)
22
+ end
23
+
24
+ client.run(ENV["DISCORD_BOT_TOKEN"])
@@ -12,7 +12,7 @@ client.once :ready do
12
12
  puts "Logged in as #{client.user}"
13
13
  end
14
14
 
15
- client.on :message do |_task, message|
15
+ client.on :message do |message|
16
16
  next if message.author.bot?
17
17
  next unless message.content.start_with?("!auth ")
18
18
 
@@ -32,11 +32,11 @@ client.on :message do |_task, message|
32
32
  )
33
33
  end
34
34
 
35
- client.on :button_click do |_task, response|
35
+ client.on :button_click do |response|
36
36
  if response.custom_id.start_with?("auth:")
37
37
  id = response.custom_id.delete_prefix("auth:")
38
38
  response.fired_by.add_role(id).wait
39
- response.post("You got your role!\nHere's your role: <@&#{id}>", hide: true)
39
+ response.post("You got your role!\nHere's your role: <@&#{id}>", ephemeral: true)
40
40
  end
41
41
  end
42
42
 
@@ -36,7 +36,7 @@ client.once :ready do
36
36
  puts "Logged in as #{client.user}"
37
37
  end
38
38
 
39
- client.on :message do |_task, message|
39
+ client.on :message do |message|
40
40
  next if message.author.bot?
41
41
  next unless message.content == "!ruby"
42
42
 
@@ -46,7 +46,7 @@ client.on :message do |_task, message|
46
46
  )
47
47
  end
48
48
 
49
- client.on :select_menu_select do |_task, response|
49
+ client.on :select_menu_select do |response|
50
50
  next unless response.custom_id == "sections"
51
51
 
52
52
  id = response.value.delete_prefix("sections:")
@@ -54,7 +54,7 @@ client.on :select_menu_select do |_task, response|
54
54
  response.post(
55
55
  "**#{selected_section[0]}**\n" \
56
56
  "#{selected_section[1].strip}\n\n" \
57
- "#{WIKIPEDIA_CREDIT}", hide: true,
57
+ "#{WIKIPEDIA_CREDIT}", ephemeral: true,
58
58
  )
59
59
  end
60
60