Compare commits

..

No commits in common. "89a36914dbbb615acc9639378087ef1bdd7da91f" and "96a4fe575173d07c5b9ee3ad1c604951504d8338" have entirely different histories.

52
bot.rb
View File

@ -3,48 +3,32 @@ require 'discordrb'
bot = Discordrb::Bot.new token: ENV['DISCORD_TOKEN'] bot = Discordrb::Bot.new token: ENV['DISCORD_TOKEN']
BOOKMARK_EMOJI = '🔖' EMOJI = '🔖'
PIN_EMOJI = '📌'
TRIM_MESSAGE_LENGTH = 500 TRIM_MESSAGE_LENGTH = 500
bot.reaction_add do |event| bot.reaction_add do |event|
next unless [BOOKMARK_EMOJI, PIN_EMOJI].include? event.emoji.name next unless event.emoji.name == EMOJI
# extract data of the message's author
message_author = event.message.author
message_author_pfp = message_author.avatar_url 'png'
message_author_nickname = message_author.display_name
message_author_distinct = message_author.distinct
if(event.emoji.name == BOOKMARK_EMOJI) message_author_fname = "#{message_author_nickname} (#{message_author_distinct})" # this is the 'author' field of the embed
# extract data of the message's author
message_author = event.message.author
message_author_pfp = message_author.avatar_url 'png'
message_author_nickname = message_author.display_name
message_author_distinct = message_author.distinct
message_author_fname = "#{message_author_nickname} (#{message_author_distinct})" # this is the 'author' field of the embed trimmed_msg = "#{event.message.content[0..TRIM_MESSAGE_LENGTH]}#{'...' if event.message.content.length > TRIM_MESSAGE_LENGTH}" # trim the string to TRIM_MESSAGE_LENGTH chars max to not make the embed too huge
original_msg_link = event.message.link
trimmed_msg = "#{event.message.content[0..TRIM_MESSAGE_LENGTH]}#{'...' if event.message.content.length > TRIM_MESSAGE_LENGTH}" # trim the string to TRIM_MESSAGE_LENGTH chars max to not make the embed too huge pm = event.user.pm
original_msg_link = event.message.link
pm = event.user.pm pm.send_embed 'Bookmark created!' do |embed|
embed.title = 'Go to message'
pm.send_embed 'Bookmark created!' do |embed| embed.url = original_msg_link
embed.title = 'Go to message' embed.author = Discordrb::Webhooks::EmbedAuthor.new(icon_url: message_author_pfp, name: message_author_fname)
embed.url = original_msg_link embed << Discordrb::Webhooks::EmbedField.new(name: 'Message (trimmed)', value: trimmed_msg)
embed.author = Discordrb::Webhooks::EmbedAuthor.new(icon_url: message_author_pfp, name: message_author_fname) embed.timestamp = event.message.timestamp
embed << Discordrb::Webhooks::EmbedField.new(name: 'Message (trimmed)', value: trimmed_msg)
embed.timestamp = event.message.timestamp
end
end end
if(event.emoji.name == PIN_EMOJI)
event.message.pin
end
nil # `event` is of type Respondable, so the return line of the block needs to be nil to prevent the bot sending something in the chhannel the reaction occured. nil # `event` is of type Respondable, so the return line of the block needs to be nil to prevent the bot sending something in the chhannel the reaction occured.
end end
bot.reaction_remove do |event| bot.run
next unless event.emoji.name == PIN_EMOJI
event.message.unpin
nil
end
bot.run