discorb 0.0.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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