前提・実現したいこと
ruby言語でdiscordbotを作っている
・ランダム結果(占い)を作りたい
・○○をプレイ中を表示したい!
発生している問題・エラーメッセージ
占いとプレイ中のコードの部分が構文エラーになってしまいます。
Microsoft Windows [Version 10.0.18362.388] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\ユーザー名> C:\Users\ユーザー名>cd C:\Users\ユーザー名\Desktop C:\Users\ユーザー名\Desktop>rubybot.rb C:/Users/ユーザー名/Desktop/rubybot.rb:12: syntax error, unexpected end, expecting end-of-input C:\Users\ユーザー名\Desktop>
該当のソースコード
(前提として最低限動くトークンとIDの入力は済んでいます。簡単な受け答えは動作確認済です)
Ruby
1require 'discordrb' 2bot = Discordrb::Bot.new token: 'トークン', client_id: ID 3 4 5bot.message(content: "占い!") do |event| 6 p a.sample(3) #=> [1, 9, 3] 7 event.respond "貴方の結果は#sampleです!" 8end 9 10 11bot.game = これをプレイ中 12end 13 14 15bot.run 16
試したこと
::占い部分::
bot.message(content: "占い!") do |event|
p a.sample(3) #=> [1, 9, 3]
event.respond "貴方の結果は#sampleです!"
end
::プレイ中部分::
bot.game = これをプレイ中
end
Ruby
1require 'discordrb' 2bot = Discordrb::Bot.new token: 'トークン, client_id: ID 3 4 5bot.message(content: "占い!") do |event| 6p a.sample(3) #=> [1, 9, 3] 7event.respond "貴方の結果は#sampleです!" 8end 9 10 11bot.game = これをプレイ中 12 13 14 15bot.run 16
Microsoft Windows [Version 10.0.18362.388] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\ユーザー名>cd C:\Users\ユーザー名\Desktop C:\Users\ユーザー名\Desktop>rubybot.rb libsodium not available! You can continue to use discordrb as normal but voice support won't work. Read https://github.com/meew0/discordrb/wiki/Installing-libsodium for more details. Traceback (most recent call last): C:/Users/ユーザー名/Desktop/rubybot.rb:563:in `<main>': undefined local variable or method `これをプレイ中' for main:Object (NameError)
補足情報(FW/ツールのバージョンなど)
仕様ツール:ruby言語 discordrb
占いのみ実行しようとするとこうなります
Ruby
1require 'discordrb' 2bot = Discordrb::Bot.new token: 'トークン', client_id: ID 3 4 5 6bot.message(content: "占い!") do |event| 7p a.sample(3) #=> [1, 9, 3] 8event.respond "貴方の結果は#sampleです!" 9 10 11 12bot.run
Microsoft Windows [Version 10.0.18362.388] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\ユーザー名>cd C:\Users\ユーザー名\Desktop C:\Users\ユーザー名\Desktop>rubybot.rb libsodium not available! You can continue to use discordrb as normal but voice support won't work. Read https://github.com/meew0/discordrb/wiki/Installing-libsodium for more details. [INFO : websocket @ 2019-10-06 23:08:10.609] Discord using gateway protocol version: 6, requested: 6 [ERROR : et-1 @ 2019-10-06 23:08:18.098] Exception: #<NameError: undefined local variable or method `a' for main:Object> [ERROR : et-1 @ 2019-10-06 23:08:18.098] C:/Users/owner/Desktop/rubybot.rb:7:in `block in <main>' [ERROR : et-1 @ 2019-10-06 23:08:18.098] D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/discordrb-3.3.0/lib/discordrb/events/generic.rb:98:in `call' [ERROR : et-1 @ 2019-10-06 23:08:18.098] D:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/discordrb-3.3.0/lib/discordrb/bot.rb:1316:in `block in call_event'
回答2件
あなたの回答
tips
プレビュー