[INACTIVE][CHAT] ScheduledAnnouncer 1.8.1 - Auto Broadcasts by a Scheduler [1.1-R4]

Discussion in 'Inactive/Unsupported Plugins' started by MiHo, Apr 7, 2011.

  1. Offline

    MiHo

    ScheduledAnnouncer [Version 1.8.1]

    Scheduled Announcer is a very simple tool, which only does what's its name told us. It automatically sends a broadcast out of a list controlled by a schedule.

    Features:

    • Sends Scheduled Broadcast to all Players
    • Easy to configure by 'config.yml' or ingame with the '/announce' command.
    • Supports colors (&1, &2... &9, &a, &b... &f) and newlines with &n.
    • Supports executing commands inside Announcements. (Like "Now it will get day!&n/time day")
    • Supports newest Bukkit permissions system!

    How To Setup (open)

    1. Download the latest Release
    2. Drag&Drop the JAR file to your 'plugin/' directory
    3. Restart or reload your server

    There's a video tutorial on how to setup and configure that plugin on YouTube too. Thanks to BrandonHopkins!

    Configuration (open)
    Code:
    #
    #
    # ScheduledAnnouncer Configuration File
    # =====================================
    #
    # Don't use tabs in *.yml file!
    #
    
    announcement:
        # Use this flag to temporary disable the announcements.
        # enabled: false, means that there wouldn't be any announcements.
        enabled: true
    
        # Set this to true will announce in random order.
        # 'false' will announce in sequential (one after another) order.
        random: false
    
        # Defines the prefix for the announcement. Use & + hex char 
        # for color codes.
        prefix: '&c[Announcement] '
    
        # The time of one interval in seconds.
        interval: 100
    
        # List of messages to announce. You could use color codes by
        # using & + hex chars too. &n will produce a new line.
        messages:
        - 'This is the first default announcement!'
        - 'Use /announce help to get info how to config this plugin.'
        - 'You can also configure this plugin with its config.yml too!'

    Commands (open)
    Code:
    /announce add <message>
    Needed Permission: announcer.add
    Adds a new announcement with the Message: <message>
    Code:
    /announce broadcast [<index>]
    Needed Permissions: announcer.broadcast
    Broadcast an existing announcement NOW.
    Code:
    /announce delete <index>
    Needed Permissions: announcer.delete
    Removes the announcement with the passed index.
    Code:
    /announce enable [true|false]
    Needed Permissions: announcer.moderate
    Enables or disables the announcer.
    Code:
    /announce interval <seconds>
    Needed Permissions: announcer.moderate
    Sets the seconds between the announcements.
    Calling it without an interval to set will return the current interval.
    Code:
    /announce list
    Needed Permissions: announcer.moderate
    Lists all announcements.
    Code:
    /announce random [true|false]
    Needed Permissions: announcer.moderate
    Enables or disables the random announcing mode.
    Only calling /announce random without true or false, will return current mode.
    Code:
    /announce reload
    Needed Permissions: announcer.admin
    Reloads the config.yml.

    Changelog (Version 1.8.1):

    • Fixed problem with announcing randomly.

    Changelog (Version 1.8):

    • Made Prefix fully customizable. (Changed the configuration a bit...)
    • Added '/announce prefix <text>' command.
    • Default configuration file is now created if there isn't any. (No more ZIP-downloads necessary, simply drag&drop the JAR-file)
    Older Changelogs (open)
    Version 1.7.1:
    • Fix problems with executing commands
    • Works with 1.1-R5-SNAPSHOT
    Version 1.7.0:
    • Implemented support for new bukkit permissions system
    • Supports /announce now as alias for /announce broadcast
    Version 1.6.3:
    • Fixed 'sendToAll' bug, caused by invalid attaching process to Permissions.
    Version 1.6.2:
    • Fixed 'sendToAll' color codes bug.
    Version 1.6.1:
    • Do not show empty tag brackets. (When setting tag to '' or null)
    Version 1.6:
    • Added pages in /announce list command.
    • Fixed saving after deleting a Announcement.
    Version 1.5:
    • Added multiline support (with &n you could produce a new line inside one Announcement).
    • Added a support for executing Announcements as commands, if they start with a backslash.
    Version 1.4:
    • Added color support (with &1, &2, ... &f in Messages)
    • Added a seperated color setting for tag and message (See Config Spoiler this Thread)
    Version 1.3:
    • Added the feature to only send Announcement with the Permission "announcer.receiver". Need to set the flag: "announcement.sendToAll" in the ScheduledAnnouncer 'config.yml'.
    Version 1.2.2:
    • Changed the example config file, cause of a mistake in it.
    Version 1.2.1:
    • Bugfix for /announce interval bug.
    Version 1.2:
    • Added many new commands to configure it ingame. (/announce reload, /announce enable, /announce broadcast and /announce random)
    • Ability to choose between Random Mode and Sequential Mode.
    • Use different Permissions for different kind of tasks.
    Version 1.1:
    • Enables to change the color of the Broadcast in config.yml
    • Calling '/announce interval' without any paramater now returns the current interval.
    • Changed the name of the JAR to "ScheduledAnnouncer.jar" (Please delete the old one before update!)
    Version 1.0.2:
    • Support for CraftBukkit 670...
    Version 1.0.1:
    • Small bug fix...
    Version 1.0:
    • First Release!
     
  2. Offline

    staticfactory

    Wicked, I'll update it today and test it out.

    There are 2 ways to approach this Mackinac:

    1) If you are not using inheritance in your permissions, set "SendToAll:False" and just add the "announcer.receiver" permission node to the player/group that you wish to see the announcements.

    2) If you ARE using inheritance, you need to add the "announcer.receiver" node to the parent group and then use the "-announcer.receiver" node (notice the minus sign) to the players/groups you wish to exclude. You need to set "SendToAll:False" as well.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  3. Offline

    Mighty Mackinac

    This is exactly how I have it set up. Yet Admins still get announcements.
     
  4. Offline

    staticfactory

    Here's an example of how we have ours set up (notice the inheritance flag):

    Code:
    plugin:
      permissions: {system: default, copies: null}
    groups:
    
      builder:
        default: true
        info: {prefix: '&a', suffix: '', build: true}
        inheritance: null
        permissions: [essentials.spawn, essentials.motd, essentials.tpa, essentials.tpaccept,
          essentials.tpdeny, essentials.help, essentials.home, essentials.sethome,
          essentials.warp, essentials.warp.list, essentials.list, essentials.msg, essentials.kit.*,
          essentials.rules, essentials.getpos, essentials.compass, essentials.mail, essentials.mail.send,
          essentials.helpop, PrivateWarp.pw, iConomy.access, iConomy.payment, lwc.protect,
          essentials.depth, announcer.receiver]
    
      architect:
        default: false
        info: {prefix: '&b', suffix: '', build: true}
        inheritance: [builder]
        permissions: [essentials.tpahere, essentials.me, essentials.back, iConomy.rank,
          iConomy.list, -announcer.receiver]
    
    

    Edit: I also notice that in your original post you had "announce.receiver" instead of "announcer.receiver" -- was this just a typo?
     
  5. Offline

    Mighty Mackinac

    Yeah that was a typo.

    Code:
        Guest:
            default: true
            info:
                prefix: '&f[GUEST]'
                suffix: '&f'
                build: false
            inheritance: null
            permissions:
            - commandbook.rules
            - commandbook.spawn
            - announcer.receiver
        Member:
            default: false
            info:
                prefix: '&7[MEMBER]'
                suffix: '&f'
                build: true
            inheritance: null
            permissions:
            - commandbook.spawn
            - supplysign.access
            - commandbook.rules
            - commandbook.call
            - announcer.receiver
            - modtrs.command.modreq
            - modtrs.command.modlist
            - BedHeal.Advanced.Use
            - TradeCraft.canBuy
            - TradeCraft.canSell
            - TradeCraft.canMakePlayerShops
        Creative:
            default: false
            info:
                prefix: '&3[CREATIVE]'
                suffix: '&f'
                build: true
            inheritance:
                - Default
            permissions:
            - creativebuild.cb
            - creativebuild.clear
            - commandbook.spawn
            - commandbook.give
            - commandbook.give.infinite
            - SimpleGodMode.isGodByDefault
            - landmarks.add
            - landmarks.modify.own
            - landmarks.remove.own
        Moderator:
            default: false
            info:
                prefix: '&e[MOD]'
                suffix: '&f'
                build: true
            inheritance:
                - Default
            permissions:
            - general.time
            - general.teleport
            - general.teleport.here
            - general.player-info
            - modtrs.mod
        Sponsor:
            default: false
            info:
                prefix: '&8[SPONSOR]'
                suffix: ''
            inheritance:
                - Moderator
            permissions:
            - landmarks.add
            - landmarks.modify.own
            - landmarks.remove.own
        Admin:
            default: false
            info:
                prefix: '&6[ADMIN]'
                suffix: '&f'
                build: true
            inheritance: null
            permissions:
            - '*'
            - -announcer.receiver
            - -creativebuild.cb
            - -creativebuild.clear
    As you can see, Guest and Member have the announcer.receiver, and Admin has it rescinded. Granted my permissions is formatted differently, so that might have something to do with it. But for the life of me, I cant figure it out.
     
  6. Offline

    staticfactory

    What version of permissions are you using? I believe 2.7+ re-formatted from your confg style to mine. Regardless, nothing really jumps out at me. I do notice that you are using "Default" in your inheritance structure when you don't have a group named "Default", but I assume Permissions handles that correctly or you'd be probably be having other problems.

    It may have something to do with "*"... the admin account on our server is not exempt from the announcements, so I don't know if the over-ride works. Have you tried adding the rescinded node directly to the user?
     
  7. Offline

    Mighty Mackinac

    Right now, Im running 2.7 i believe. Will update to 3.whatever later tonight.

    will try rescinding the users later...
     
  8. Offline

    ledhead900

    Request

    1. An options so individual users may disable this for them only.
    2. Possible Group based announcment
     
  9. Offline

    Mighty Mackinac

    Ok MiHo, I am at the end of my rope. The permissions node is pointless. Its redundant. No matter what, Admins will ALWAYS get announce.receiver, either through inheritance, or the '*' node. And no matter what I do, I cant turn it off. Help would be appreciated.
     
  10. Offline

    MiHo

    I would help you, if I'd know your problem, but for me it works.
     
  11. Offline

    ledhead900

    If use essentials permisisons "Groupmanager"

    Do this

    - -announce.receiver

    like wize if you want some groups to have it

    - +announce.receiver


    This works for any command in Groupmanger.

    Exmaple
    Say u have a plugin like falsebook and u want to give everyone ALL the IC commands except two very specific types.

    GroupAdmin
    permissions:
    - '*'

    GroupPlayersA
    permissions:
    - falsebook.IC.*

    GroupPlayersB
    permissions:
    - -falsebook.IC.something
    - -falsebook.IC.something


    In my example Players A would get ALL of falebook IC rights but PlayersB cannot usinge the two specific types of IC but can use all the rest.

    Like wise u can do the same to any group inc admins with '*'

    At least that is all I made from what you are asking. If want to use this ability u can easily install Essentials group manger and remove the current permissions plugin it will auto convert your files for you :) its very easy to change. You will need the Permissions Bridge tho.
     
  12. Offline

    Mighty Mackinac

    I have simple solution. Instead of a permission that grants access, change it to a permission that denies access.

    Better yet, two nodes: announce.receive.on and announce.receive.off

    Hows that sound?

    That's all fine and dandy, but I'm using Permissions, I know what I'm doing, and, no offense, but you didn't help at all.

    I'm sorry that I'm coming off as rude, but this has been a splinter in my side all day. I'm getting tired of it.
     
  13. Offline

    ledhead900

    Well of course I was not covering permissions I was covering a method for GM, besides that's how you WILL be doing it in 1.6 anyway since Permissions 3.0 uses the same feature as GroupManger.

    "Permissions 3.0" Will be the defacto permissions for 1.6 reco bukkit for sure. At least any competent admin will be using it tho it does make os of SqLite people seem have a cow when SQL is mentioned I don't why it's not harder to setup then yml.

    Also stating " I use Permission's means nothing there are three Permissions Plugins Permissions is a global term you should have stated what plugin u you use for permissions then maybe you not get beat around the bush so much.

    As for your solution what would that achieve ... it's exactly the same situation you are in right now with admin being granted the deny receive. The only "solution" is what I posted in my request for per group announcement settings.

    Edit:

    I just noticed you are GroupManger from Essentials or Permissions 3.0

    Right there "- -announce.receiver" Your posts are very confusing you state things as if you know not of what permissions plugin your actually using. I would not mind betting that "815" and has a fair lot to do with your issue this plugin is certified for "803" yet you demand support for a Development build of craftbukkit one that this plugin is not even stated to be confirmed 100% working on.

    Don't get cranky about things that don't work as expected you choose this path when you choose to run 815 and MC 1.6 when Bukkit developement team do not recommend doing so.

    If you insist of wanting help maybe start again and layed out like the below example.

    Hi I have an issue that is such and such....
    I run CB "Version" and use "Plugin" for my Permissions"
    Here is my "Config.yml" and my Permissions "config"
    Anyone having issues with this on MC 1.6 ?
     
  14. mine doesnt work at 1.6_05 :DD
     
  15. Offline

    fffizzz

    agree on group based since people like myself are having trouble getting - -announcer.receiver to work in thier config.
     
  16. This program did work for me at 1.5_01 ,now i updated to 1.6 (bukkit and game) -> this plugin stop working
     
  17. Offline

    fffizzz

    working for me on 816.
     
  18. Offline

    MiHo

    True, there is a bug with the BukkitScheduler in ~803, but fixed in ~816. Update your bukkit version!
     
  19. Offline

    staticfactory

    I just applied this update and it seems to have broken more than it fixed. While the color codes are indeed fixed...

    Commands no longer work in-game. All of them return "Invalid Arguments, use /announce help...". Using commands from the console appears to work correctly.

    The rescinded permissions nodes are no longer functioning -- all users are now receiving announcements. I feel your pain now, Mackinac.
     
    Mighty Mackinac likes this.
  20. Offline

    MiHo

    I'm only asking the Permissions Plugin if it has the permission...
    Code:
        /**
         * Checks if the passed sender has the permission.
         *
         * @param sender     the sender to check.
         * @param permission the permission to check.
         * @return true if the player has the permission.
         */
        public boolean hasPermission(CommandSender sender, Permission permission) {
            if (!(sender instanceof Player)) {
                return !permission.isOperatorNeeded() || sender.isOp();
            }
    
            Player player = (Player) sender;
    
            if (groupManager != null) {
                return groupManager.getWorldsHolder().getWorldData(player).getPermissionsHandler()
                        .has(player, permission.getGroupManagerPermissionString());
            } else if (nijikokunPermissions != null) {
                return nijikokunPermissions.getHandler().has(player, permission.getNijikosPermissionString());
            } else {
                return !permission.isOperatorNeeded() || player.isOp();
            }
        }
    EDIT:Ah... small change to the permissions to, I'm now using Permissions 3. (Don't know, if this change something...)

    Do you see something like "[ScheduledAnnouncer] Connected to Permissions (Nijikokun)" in your log? Otherwise, it doesn't recognize Permissions 2.x and uses only the default check for isOp()


    EDIT 2:Nope... tested with 2.7.4 and works too.
     
  21. Offline

    Mighty Mackinac

    See, Im running Permissions 3.X also. It might be that Im running CB build 817, but i dont get any errors or any other indication that anything is wrong except for the announcements showing up. And now that there is someone else who has the some problem, it seems to me others will come across it too.

    Please implement the two permissions i suggested. It would really help with consistency and my sanity.
     
  22. Offline

    MiHo

    I can now reproduce your problem. (And also yours Mighty Mackinac) ... a bug in the newest version, sry.

    Seems to be something wrong. Very strange, cause I used the same code for permissions in all my plugins, and they all work, expected this one.
    I'll have a look at it.
     
  23. Offline

    staticfactory

    The only console output I get on start is:

    2011-05-31 13:12:05 [INFO] [Permissions] (Phoenix) was Initialized.
    (more plugins loading)
    2011-05-31 13:12:22 [INFO] ScheduledAnnouncer v1.6.2 is enabled!

    Interestingly enough, a blank line follows that entry in the log. This is with CB 803 and Permissions 2.7.4.

    There is also no console output when I try the commands in-game.
     
  24. Offline

    MiHo

    All my plugins should also say:
    Code:
    20:00:03 [INFO] [BlacksmithSkills] Connected to Permissions.
    20:00:03 [INFO] [EasyTravel] Connected to Permissions.
    20:00:03 [INFO] [EasyUnlock] Connected to Permissions.
    20:00:03 [INFO] [ScheduledAnnouncer] Connected to Permissions.
    ...
    And yes, for the commands it seems anybody have any permission. (Expect OPs)

    Until I fix that, please use an older build (for example 1.6.1 - all versions are stored on GitHub) if you want to use "sendToAll:false".

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  25. Offline

    staticfactory

    I do not see this message. This is likely what the blank line in my log is all about.
     
  26. Offline

    MiHo

    Uploaded new version, which should fix the problem! (Version 1.6.3)

    Now the plugin should always recognize the Permissions plugin of your choice.
     
  27. i have the 818 bukkit, this newest version ( re downloaded )
    it wont work, i type /announcer and it says unknown command
     
  28. Offline

    Mighty Mackinac

    I dont think its his plugin. I think it might be permissions or bukkit itself. Which permissions are you using?
     
  29. I think i got newest permissions plugin :)
     
  30. Offline

    Mighty Mackinac

    Yeah 3.x has a metric fuckton of problems. Almost nothing works with it.

    EDIT:
    Its working now. Just realized. The latest version of Permissions is working much better.
     
  31. Offline

    MiHo

    Works for me on 818 and Permission 2.7.4.
    (Tested Permissions 3.0 on localhost also, and worked too!)
     

Share This Page