mirror of
https://github.com/reality/dbot.git
synced 2024-12-25 12:12:35 +01:00
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
var _ = require('underscore')._;
|
|
|
|
var profile = function(dbot) {
|
|
|
|
this.onLoad = function(){
|
|
var schema = this.config.schema;
|
|
|
|
// Ensure all users have a profile
|
|
dbot.api.users.getAllUsers(function(users){
|
|
if(users){
|
|
_.each(users, function(user){
|
|
this.api.getProfileByUUID(user.id, function(err, uuid, profile){
|
|
// If function returns an error and uuid, create a new profile
|
|
if(err && uuid){
|
|
this.api.createProfile(user);
|
|
}
|
|
}.bind(this));
|
|
}.bind(this));
|
|
}
|
|
}.bind(this));
|
|
|
|
// Add API Hooks
|
|
dbot.api.event.addHook('new_user', this.api.createProfile);
|
|
|
|
dbot.instance.addPreEmitHook(function(event, callback) {
|
|
if(!event.rUser) return callback();
|
|
this.api.getProfileByUUID(event.rUser.id, function(uProfile) {
|
|
if(uProfile) {
|
|
event.rProfile = uProfile.profile;
|
|
callback();
|
|
}
|
|
}.bind(this));
|
|
}.bind(this));
|
|
|
|
//TODO(@samstudio8) Profile Merging
|
|
//dbot.api.command.addHook('~mergeusers', this.api.mergeProfile);
|
|
};
|
|
};
|
|
|
|
exports.fetch = function(dbot) {
|
|
return new profile(dbot);
|
|
};
|