Reminder
The Perfect Voting Reminder and Announcement Plugin
Now supports per-world broadcasts! Reminder will send one or more online players a scheduled message. Messages can be repeated a specified number of times or repeat indefinitely. You can specify the delay after a player connects and how frequently the message is displayed.

Most recent version is 2.0R1. Visit http://dev.bukkit.org/bukkit-plugins/reminder/ for most current version.
Tested and working on CB 1.7.9.
Features
- Set time and date of message.
- Specify a player for private message or all players for broadcast.
- Specify one or more worlds or a group of world by prefix for broadcasts.
- Set delay after player connection to begin message.
- Specify the number of times a reminder is given or have it repeat indefinitely.
- Set frequency of message.
- Edit messages using MySQL client like Sequal Pro without having to reload plugin.
- Use standard colored text conventions.
Requirements
- MySQL database for reminder storage.
Commands
Command are preceded by /reminder. See Command Reference for detailed information on commands and syntax.
- list
- List reminders.
- add
- Add a reminder.
- delete | del
- delete reminder.
- update | up
- Update reminder.
- reload
- Reload config.
- stop
- Stop reminder messages.
- resume
- Resume stopped reminder messages.
- time
- Show server time.
- setdefault | setdefaults | set
- Change a setting in config and make immediately effective.
Permissions
All commands require 'reminder' permission to be run in-game. Op-ed players do not require this permission.
Alias
Update Bukkit.yml with alias to use "/rem" as a shortcut. For example:
aliases: rem: reminder
Installation
Very simple. Place reminder.jar in your plugins folder and then type "reload" at the console. Reminder will create its plugins folder and a default config.yml file. By default, Reminder is disabled in config. To enable Reminder, edit config.yml and change the "enable" line from "false" to "true" and then type "/reminder reload" in chat or "reminder reload" at the console to enable.
Configuration
When Reminder is first run, it will create a folder named Reminder in your server's plugins folder. In that folder will be a file named config.yml with default settings.
startOnLoad: false- Determines if Reminder begins processing when CraftBukkit is started or reloaded. By default this setting is 'false'. After setting dbURL, dbUser and dbPassword in this file, change this setting to 'true' and command CraftBukkit reload.
tag: default- The default <tag> field used when the add command is used and this tag is not specified. Tag is limited to 15 characters and may contain only A-Z, a-z and 0-9 with no spaces.
delay: 1- The default <delay> field used when the add or update command is used and this tag is not specified. Delay is the time in seconds to postpone a reminder from the time a player joins the game.
rate: 5- The default <rate> field used when the add or update command is used and this tag is not specified. Rate is the time in seconds between each time this reminder message is presented.
echo: 3- The default <echo> field used when the add or update command is used and this tag is not specified. Echo is the number of times a reminder is presented. When set to -1, a reminder is presented indefinitely.
maxRows: 20- The maximum number of rows the list command returns.
dbUrl: jdbc:mysql://localhost/Chrisbot- The URL of the MySQL database the server will use to storing reminders. Reminders will automatically create the reminders table if it does not exist.
dbUser: root- MySQL database user name.
dbPassword: root- MySQL database password.
Give Anything Listener Example
Learn about Give Anything Listener
services:
default:
commands:
- reminder delete {username} tag {service}
- reminder add {username} tag {service} '&c[Reminder] &eHey, &a{username}&e! &6Its been a whole day since you voted at &a{service}&6. &bHelp us out and get schwag. &eHit them up again! &3http://www.chrisbot.net/vote' +1440 delay 3 rate 5 echo 3
-
View User Profile
-
Send Message
Posted Jul 7, 2014@LegendaryAdmin
Sounds good. I'm ready when you are.
-
View User Profile
-
Send Message
Posted Jul 7, 2014@Chrisbotcom
Thats the messed up thing, there are no logs of the crash, its completely silent... It has been a nightmare to figure out, not sure if this had anything to do with it yet or not. There are other issues so nothing is certain yet. I will file a proper ticket if I find that this is the cause. I will also test that string once I solve my other problems =]
-
View User Profile
-
Send Message
Posted Jun 28, 2014@LegendaryAdmin
I think just removing the slash after ".com".
dbUrl: jdbc:mysql://mysql-phx.demonvps.com:3306/mcdbus2372
If you can list the error(s) you get when the server crashes, I'll update Reminder to handle the exception.
-
View User Profile
-
Send Message
Posted Jun 28, 2014I really wanted to follow up on this sooner, but have had other more pressing issues I had to deal with and essentially ended up disabling this for the time being. Here is my current string:
dbUrl: jdbc:mysql://mysql-phx.demonvps.com/:3306/mcdbus2372
This still does not work, and I suspect it is crashing my server when I have it enabled and incorrect since, when I disable it, the crashes stop.
Thoughts?
-
View User Profile
-
Send Message
Posted Jun 14, 2014@LegendaryAdmin
You're almost there! This is the hardest part but its not really that hard. This is an example URL:
Let's break it down. "jdbc" is the provider. "mysql" is the protocol. Keep that just as it is. ( jdbc:mysql: )
Set "
//192.168.1.1" to the IP address of your MySQL server. You can find that on your admin page. Remember to put two slashes (//) before the IP address.":1234" is the TCP port that your MySQL server is listening on. You may be able to find that on your admin page too. Either that or the FAQ for your hosting provider. Remember to precede the port number with a colon ( : ).
Finally is the database name: "/database-name". Hosting providers usually set you up with a default database. Reminder will automatically create its table. Remember to precede the database name with a single slash ( / ).
If you are using Multicraft as your server control panel, you'll find most of the information under Advanced -> MySQL Database.
-
View User Profile
-
Send Message
Posted Jun 13, 2014@Chrisbotcom
Thanks for the in depth reply Chris =]
We use demonvps and I kinda just figured part of this out when you asked that question.
I created a new database, put in the url, username, and pw for the mysql, I get no errors on my console, and I am still not getting reminders. This is what it looks like in the config:
dbUrl: http://mysql-phx.demonvps.com/
The username and pw are in there of course, (I didn't think it would be wise to post those) but I think its the URL that is causing my issues. I have tried putting it in there with a number of formats, this is just the last one I used.
-
View User Profile
-
Send Message
Posted Jun 12, 2014@LegendaryAdmin
You are more than welcome.
Yes! Reminder can do one reminder for all the Votifier sites. Simply set the reminder tag to be the same for all of your Votifier sites. This way, each vote will update the same reminder instead of separate reminders. You are so right about too many reminders. Here is a simplified example to be put in GA's config.yml:
services: default: commands: - reminder delete {username} tag VOTE - reminder add {username} tag VOTE 'It looks like you haven't voted yet today. 12 votes, 12 diamonds, 2 minutes. /vote to collect!' +1440 delay 3 rate 5 echo 3So, in the command section, the first command will delete all reminders that have the name of the player who voted AND have the tag VOTE.
The second command creates a reminder with the tag VOTE having your message (you can add color). It will start 1440 minutes (24 hours) from the time they voted (the + adds the minutes to the current time). The message will delay three minutes after a player joins. It will repeat every 5 minutes, 3 times.
This results in one reminder per voting player. If the player votes on multiple Votifier sites, the one reminder for the player will be replaced with the new one each time.
One thing I find annoying about some list servers is that some of them make you at least 24 real hours (or more), and not just for the next calendar day. I suppose this is because we are all over the world playing Minecraft. Still, I think they could accommodate time zones. But then again, some of us play all night and others play during the day [and at night too ; ) ]. The reason I mention this is that it may be preferred to have the reminder just count days and have it send messages based on days regardless of the time of day. For this, I recommend setting the time to several hours, making the assumption that a player may be on for a few hours and knowing that Reminder will wait for that player to return before sending messages. This will appear to be the next day.
Regarding setting up MySQL, what cha got for a server? Are you using a hosting plan like MSProHosting that includes MySQL?
-
View User Profile
-
Send Message
Posted Jun 12, 2014@Chrisbotcom
Thank you Chris =]
Basically, I just need vote reminders. I run GA, votifier, and votenow. We have 12 votes, and it would be unnecessarily annoying to get a reminder for each vote. Can it just remind them to vote generally unless they have done all 12 votes? Also, how do I hook up the MySQL?
Message: It looks like you haven't voted yet today. 12 votes, 12 diamonds, 2 minutes. /vote to collect!
Thank you =]
-
View User Profile
-
Send Message
Posted Jun 11, 2014@LegendaryAdmin
A Youtube video is a great idea. I'll work on that.
MySQL is a requirement. Its a fairly basic (simple) database. You will need MySQL for storage of reminders. MySQL is very worth learning. You don't really have to learn MySQL to use Reminder, just hook it up. I have been considering flat file backend. I think I'll add that to the list for the next update.
Give me a sample of what you would like the reminder message to display and I'll reply with the command(s) to do that. I'm very happy to help with examples.
-
View User Profile
-
Send Message
Posted Jun 10, 2014So as easy as this is supposed to be, I am not getting it.
I enter:
/reminder add <hit enter? don't hit enter? Add a tag and hit enter? Add a tag and then a message and hit enter?>
and all I get is:
10.06 14:19:57 [Server] INFO [14:19:57 INFO]: Unknown command. Type "/help" for help. 10.06 14:18:10 [Server] INFO [14:18:10 INFO]: Unknown command. Type "/help" for help. 10.06 14:17:52 [Server] INFO [14:17:52 INFO]: Unknown command. Type "/help" for help.
Also, What do I do about the dbURL and dbuser and db password? I know absolutely nothing about MySQL, is this something I have to learn to use this plugin? Can I just ignore this? What is the difference if I do or do not?
I tried adding the lines example lines to my GA and I don't get reminders either...can we have a youtube tutorial please? =[
Thank you =]
-
View User Profile
-
Send Message
Posted Apr 12, 2014@dawnsin
dawnsin, yes! This works with any link in chat or reminder. First format the link as "http://someurl.com". Most players know that when a link is displayed in chat, they can either press "/" or "T" and then hover the mouse pointer over the link and then left-click. The Minecraft client will ask if you want to go to the link or if you want to copy the link to the clipboard.
-Chris
-
View User Profile
-
Send Message
Posted Apr 12, 2014Is there anyway to make it where a player can click a link in a reminder for like a website or anything like that?
-
View User Profile
-
Send Message
Posted Mar 31, 2014Please visit http://dev.bukkit.org/bukkit-plugins/reminder/ for most current release (version 1.1.1).
-
View User Profile
-
Send Message
Posted Mar 29, 2014Version 1.1.1
-
View User Profile
-
Send Message
Posted Mar 29, 2014@DavMicrofix
That's a great idea! I have seen something similar to your description in the plugin HolographicDisplays. I will add that idea to the list.
-
View User Profile
-
Send Message
Posted Mar 29, 2014thanks it works now i change the text in the database and everything is working. Maybe it is a option to make it like this. /reminder add <ENTER> then you get message : username or * everyone , : you fill in username or * ,enter. then you get message : enter your text : then you type your text. then message delay : rate: echo.
-
View User Profile
-
Send Message
Posted Mar 29, 2014@DavMicrofix
Oh, By the way, you can also edit the database directly to deal with very long messages.
-
View User Profile
-
Send Message
Posted Mar 29, 2014@DavMicrofix
Thank you for posting! I will take a look at the problem with "/?".
Regarding adding longer messages, try adding without specifying delay, count and echo. Then update the reminder to change delay, count and echo. Try this:
Example 1Example 2Regarding a message to be presented to a player 5 minutes after join, I will add that ability. That's a great idea! I'll start working on that right away.
Edit
Actually you can add "delay 60" to a global reminder and it will delay a reminder for any player by 60 minutes from their login. Anyway, I'm working on the count for global reminders. Just realized it doesn't make sense for it to decrement to zero. But it does make sense to limit the number of time a global message might be displayed to a player in a given session.
-
View User Profile
-
Send Message
Posted Mar 29, 2014I think this will be a nice plugin so i only trying to help. PS : sorry for bad english.
I have installed 1.0.5. i have connection to database how do i set up a reminder . /? reminder add is telling me : no help for reminder add. I can not use the above example, because the text is too long and does not fit in my / t text field.
so how do i set up a global reminder so everyone can see a message after 60 min or so. and how do i set up a reminder for everyone who logs in and get a message after 5 min to go to the website and vote foor the server.
-
View User Profile
-
Send Message
Posted Mar 28, 2014DavMicrofix ,
Here's the source of the problem. https://api.curseforge.com/servermods/files?projectIds=76647 is not listing Reminder v1.1. Not sure if there is some propagation delay but Curse.com is showing the correct version. Until version 1.1 is listed on api.curse.com, please disable updated in config.yml:
autoUpdate: falseIf using Curse to detect update is not reliable, I'll remove auto update.
I apologize for the inconvenience. I appreciate you letting me know.
-Chris