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
@LegendaryAdmin
Sounds good. I'm ready when you are.
@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 =]
@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.
I 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?
@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.
@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.
@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:
So, 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?
@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 =]
@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.
So 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 =]
@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
Is there anyway to make it where a player can click a link in a reminder for like a website or anything like that?
Please visit http://dev.bukkit.org/bukkit-plugins/reminder/ for most current release (version 1.1.1).
Version 1.1.1
@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.
thanks 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.
@DavMicrofix
Oh, By the way, you can also edit the database directly to deal with very long messages.
@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 1
Example 2
Regarding 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.
I 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.
DavMicrofix ,
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: false
If 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