Paste #48991: Untitled Paste

Date: 2018/08/12 08:31:55 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


DiscordBot_Silent_Data:
    type: yaml data
    config:
        channels:
            chatter: 476698391653384205

DiscordBot_Silent_Events: 
    type: world 
    debug: false 
    events: 
        on server start:
        - inject DiscordBot_Silent_Load_Config
        - inject DiscordBot_Silent_Connect
        - flag server DiscordBot_Uptime:<server.current_time_millis>

        on discord message received:
        - if <context.channel> == <s@DiscordBot_Silent_Data.yaml_key[config.channels.chatter]> {
            - announce "<&8>[<&5>Discord<&8>] <&7><context.author_name><&8><&co> <&f><context.message>"
        }

        on player chat:
        - run DiscordBot_Silent_Send_Message instantly context:<def[message]>|<s@DiscordBot_Silent_Data.yaml_key[config.channels.chatter]>


DiscordBot_Silent_Load_Config:
    type: task
    script:
    - if <server.has_file[/data/DiscordBot_Silent/config.yml].not> {
        - yaml create id:DiscordBot_Silent_id
        - yaml id:DiscordBot_Silent_id set Tokens.Discord:ABC
        - yaml id:DiscordBot_Silent_id "savefile:/data/DiscordBot_Silent/config.yml"
    }
    else {
        - yaml "load:/data/DiscordBot_Silent/config.yml" id:DiscordBot_Silent_id
    }

DiscordBot_Silent_Connect:
    type: task
    script:
    - define code <yaml[DiscordBot_Silent_id].read[Tokens.Discord]>
    - discord id:DiscordBot_Silent connect code:<def[code]>

DiscordBot_Silent_Disconnect:
    type: task
    script:
    - discord id:DiscordBot_Silent disconnect

DiscordBot_Silent_Send_Message:
    type: task
    definitions: message|channel_id
    script:
    - define flood 2s
    - if <server.has_flag[message_flood]> {
        - define wait <server.flag[message_flood].expiration||<d@20t.as_duration>>
        - define add <def[wait].add[<def[flood]>]||1s>
        - flag server message_flood duration:<def[add]>
        - wait <def[wait]>
    }
    else {
        - flag server message_flood duration:<def[flood]>
    }
    #- define channel_id <s@DiscordBot_Silent_Data.yaml_key[config.channels.<def[channel]>]>
    - discord id:DiscordBot_Silent message channel:<def[channel_id]> "<def[Message]>"