Sha256: 4cd6a99732e3e29a39812d3b8b81a3de11fdb64bed77766b5ddf8898b21fc75c
Contents?: true
Size: 907 Bytes
Versions: 1
Compression:
Stored size: 907 Bytes
Contents
require "discorb" require "discorb/view" client = Discorb::Client.new client.load_extension Discorb::View::Extension class MyMenu < Discorb::View::Base @@texts = ["A", "B"] def initialize @page = 0 end button :left, "<", :primary do |interaction| @page -= 1 end button :right, ">", :primary do |interaction| @page += 1 end button :quit, "Quit", :danger do |interaction| stop! end view ->(interaction) { !((0...@@texts.length).include?(@page)) } do |result| result.content = "Out of range: Page #{@page + 1}" end view do |result| result.content = @@texts[@page % @@texts.length] result.embeds = [] result.components = [:left, :right, :quit] end end client.once :standby do puts "Ready!" end client.on :message do |message| next unless message.content == "menu" MyMenu.start(message.channel) end client.run ENV["DISCORD_BOT_TOKEN"]
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
discorb-view-0.2.0 | examples/menu.rb |