func Next() (*Reminder, error) {
	collection := database.CurrentClient.Database(static.MongoDatabase).Collection("reminders")
	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
	defer cancel()
	opts := options.FindOne()
	opts.SetSort(bson.M{"exceeds": 1})
	result := collection.FindOne(ctx, bson.M{}, opts)
	err := result.Err()
	if err != nil {
		return nil, err
	}
	reminder := new(Reminder)
	err = result.Decode(reminder)
	return reminder, err
}
Next returns the reminder which exceeds next
package reminders
import (
	"context"
	"strings"
	"time"
	"github.com/Lukaesebrot/asterisk/database"
	"github.com/Lukaesebrot/asterisk/static"
	"go.mongodb.org/mongo-driver/bson"
	"go.mongodb.org/mongo-driver/bson/primitive"
	"go.mongodb.org/mongo-driver/mongo/options"
)
func Create(userID, channelID string, duration time.Duration, message string) (*Reminder, error) {
	collection := database.CurrentClient.Database(static.MongoDatabase).Collection("reminders")
	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
	defer cancel()
	reminder := &Reminder{
		UserID:    userID,
		ChannelID: channelID,
		Exceeds:   int64(time.Now().Unix() + int64(duration.Round(time.Second).Seconds())),
		Message:   strings.ReplaceAll(message, "`", "'"),
	}
	insertResult, err := collection.InsertOne(ctx, reminder)
	if err != nil {
		return nil, err
	}
	reminder.ID = insertResult.InsertedID.(primitive.ObjectID)
	return reminder, nil
}