質問編集履歴

1

追加で試したの事の記載

2021/06/11 10:15

投稿

Konayukin
Konayukin

スコア3

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,27 @@
56
56
 
57
57
  ```
58
58
 
59
-
59
+ ※追記 変更後のエラーメッセージ
60
+
61
+ ```
62
+
63
+ [INFO : websocket @ 2021-06-11 10:02:02.356] Discord using gateway protocol version: 6, requested: 6
64
+
65
+
66
+
67
+ [WARN : heartbeat @ 2021-06-11 10:03:24.500] Last heartbeat was not acked, so this is a zombie connection! Reconnecting
68
+
69
+ [ERROR : heartbeat @ 2021-06-11 10:03:24.500] The websocket connection has closed: nil
70
+
71
+
72
+
73
+ [WARN : vws-i @ 2021-06-11 10:03:25.786] VWS close: no address for japan9411.discord.media:443
74
+
75
+
76
+
77
+ [ERROR : vws-i @ 2021-06-11 10:04:43.416] VWS error: Disconnected.
78
+
79
+ ```
60
80
 
61
81
  ### docker-compose.yml
62
82
 
@@ -129,3 +149,59 @@
129
149
 
130
150
 
131
151
  調べてる最中に想像以上にいろんな言語でBOT作れることを知りましたがここまで来た以上なんとかしてこれだけは完成させたいという気持ちもありまして...どうぞよろしくお願いいたします。
152
+
153
+
154
+
155
+ ※追記
156
+
157
+ 回答してくださった方の助言を元にGemfileを更新してコンベア内のRubyを2.7.0にアップデートしましたが当初と同じエラーが発生
158
+
159
+ WebSocketのURLの後ろの443が二つ付いてるのがダメなんじゃないかと素人なりに目星を付けて該当ファイル(/usr/local/lib/ruby/2.5.0/uri/rfc3986_parser.rb)内を下記のように書き換えてみましたが違ったエラーが発生
160
+
161
+ host = "wss://#{@endpoint}:443"
162
+
163
+
164
+
165
+ host = "wss://#{@endpoint}"
166
+
167
+ 長いので全文は割愛しちょこっとだけ周辺を記載↓
168
+
169
+ ```
170
+
171
+ def init_ws
172
+
173
+ host = "wss://#{@endpoint}"
174
+
175
+ @bot.debug("Connecting VWS to host: #{host}")
176
+
177
+
178
+
179
+ # Connect the WS
180
+
181
+ @client = Discordrb::WebSocket.new(
182
+
183
+ host,
184
+
185
+ method(:websocket_open),
186
+
187
+ method(:websocket_message),
188
+
189
+ proc { |e| Discordrb::LOGGER.error "VWS error: #{e}" },
190
+
191
+ proc { |e| Discordrb::LOGGER.warn "VWS close: #{e}" }
192
+
193
+ )
194
+
195
+
196
+
197
+ @bot.debug('VWS connected')
198
+
199
+
200
+
201
+ # Block any further execution
202
+
203
+ heartbeat_loop
204
+
205
+ end
206
+
207
+ ```