The Ctrl + V Game

  • Thread starter Thread starter smileyhead
  • Start date Start date
  • Views Views 574,140
  • Replies Replies 9,272
  • Likes Likes 15
Code:
module SerieBot
    module Logging
        require 'rumoji'
        extend Discordrb::Commands::CommandContainer
        extend Discordrb::EventContainer
        def self.get_message(event, state)
            if state == nil or state == "{DELETE}"     
        if (event.channel.private?)
          server_name = "DM"
          channel_name = event.channel.name
        else
          server_name = event.server.name
          channel_name = "##{event.channel.name}"
        end
        messages[event.message.id] = {
        :event => event,
        :server => server_name,
        :channel => channel_name,
        }
       
        content = Rumoji.encode(event.message.content)
        event.message.mentions.each { |x| content = content.gsub("<@#{x.id.to_s}>", "<@#{x.distinct}>") ; content = content.gsub("<@!#{x.id.to_s}>", "\@#{x.distinct}") }
       
        attachments = event.message.attachments
        id = Base64.strict_encode64([event.message.id].pack('L<'))
       
        puts "#{state}(#{id}) #{event.message.timestamp.strftime('[%D %H:%M]')} #{server_name}/#{channel_name} <#{event.message.author.distinct}> #{content}"
        puts "<Attachments: #{attachments[0].filename}: #{attachments[0].url} >" unless attachments.empty?
      else
        if messages[event.id].nil?
          puts "{DELETE} Message with ID {event.id} was deleted, but the contents couldn't be fetched."
        end
       
        delete_event = messages[event.id][event]
        server_name = messages[event.id][:server]
        channel_name = messages[event.id]
       
        content = Rumoji.encode(delete_event.message.content)
        delete_event.message.mentions.each { |x| content = content.gsub("<@#{x.id.to_s}>", "<@#{x.distinct}>") ; content = content.gsub("<@!#{x.id.to_s}>", "\@#{x.distinct}") }

        attachments = delete_event.message.attachments
        id = Base64.strict_encode64([delete_event.message.id].pack('L<'))
        puts "#{state}(#{id}) #{delete_event.message.timestamp.strftime('[%D %H:%M]')} #{server_name}/#{channel_name} <#{delete_event.message.author.distinct}> #{content}"
        puts "<Attachments: #{attachments[0].filename}: #{attachments[0].url} >" unless attachments.empty?
        end
        end
       
        message do |event|
            next if Config.ignored_servers.include?(event.server.id) rescue nil
            self.get_message(event, nil)
        end
       
        message_edit do |event|
            next if Config.ignored_servers.include?(event.server.id) rescue nil
            self.get_message(event, "{EDIT}")
        end
   
    message_delete do |event|
      next if Config.ignored_servers.include?(event.server.id) rescue nil
      self.get_message(event, "{DELETE}")
    end
   
    member_join do |event|
      puts "[#{Time.now.strftime('[%D %H:%M]')}] #{event.member.distinct} joined \{#{event.server.name}\}"
    end
   
    end
end
 
PpQA9s9.png
<- It's an image, not the emoticon. I shared it through Discord.
 

Site & Scene News

Popular threads in this forum