Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- console.log("Bot running...");
- var fs = require("fs")
- var path = require("path");
- var request = require('request');
- var tmi = require('tmi.js');
- var option = {
- option: {
- debug: true
- },
- connection: {
- cluster: "aws",
- reconnect: true
- },
- identity: {
- username: "belierbot",
- password: "oauth:0a59ed5nmg2utqn4jpo678f8fj7256"
- },
- channels: ["Belier_TV"]
- };
- var client = new tmi.client(option);
- client.connect();
- var modos = ['ChokaPink', 'Mr_Freezeex', 'Zorowen_Sama'];
- function getRandFromArray(arr) {
- return arr[Math.floor(Math.random()*arr.length)];
- };
- client.on("chat", function(channel, user, message, self) {
- if(message === "ca va BelierBot ?" || message === "ça va BelierBot ?" || message === "Ca va BelierBot ?") {
- client.say("Belier_TV", " Ne me compare pas a Moobot s'il te plait." + " " + user["display-name"] + ".");
- return;
- }
- if(message === "!info" || message === "!?" || message === "!BelierBot") {
- client.say("Belier_TV", " Toutes les commandes sont ici : http://belier-tv.fr/info.html");
- return;
- }
- if(message === "!songrequest") {
- client.say("Belier_TV", " On est pas chez mémé !");
- return;
- }
- if(message === "Je t'aime Belier_TV") {
- client.say("Belier_TV", " Attention, ChokaPink va être jalouse !");
- return;
- }
- if(message === "BelierBot est tu un bot ?") {
- client.say("Belier_TV", " Quoi, moi, un bot ? Non... BelierBot has disconnected.");
- return;
- }
- if(message === "Qui suis-je ? ") {
- client.say("Belier_TV", " Tu est " + user["display-name"] + ", Tu perd la tête ?");
- return;
- }
- if(message === "Tu fait quoi BelierBot ?") {
- client.say("Belier_TV", " Je répond aux curieux comme toi " + user["display-name"]);
- return;
- }
- if(message === "Qui est le meilleur Modo ?" || message === "qui est le meilleur modo ?") {
- if (user.mod) {
- client.say("Belier_TV", " C'est toi " + " " + user["display-name"] + " tu le sais bien. <3");
- } else {
- client.say("Belier_TV", " Au hasard, je pense que c'est " + getRandFromArray(modos) + ".");
- }
- }
- if(message === "pute" || message === "salope" || message === "enculé" || message === "fils de pute" || message === "fpd" || message === "putain") {
- client.say("Belier_TV", " Pas d'insulte s'il te plait " + user["display-name"]);
- return;
- }
- });
- var msg = ["N'oubliez pas de visiter le site : belier-tv.fr", "Rejoignez moi sur Twitter : twitter.com/Belier_TV et sur Facebook : facebook.com/belierTV", "Pensez a Follow pour ne rien louper et profiter pleinement des avantage que cela apporte !", "Pour interagir avec moi => !info"];
- setInterval(function() {
- client.action("Belier_TV", " : " + getRandFromArray(msg));
- }, 300000);
- //............................................................................... RGAPI-f490753d-6a7a-497e-9428-4fd2bd3af27f (Riot api/league-api)
- var league_api = require('league-api');
- var league = new league_api('RGAPI-f490753d-6a7a-497e-9428-4fd2bd3af27f');
- league.getLeagueEntriesBySummonerId('euw', '34869316', function(err, data) {
- client.on("chat", function(channel, user, message, self) {
- if(message === "!elo") {
- client.say("Belier_TV", " : " + (data[34869316][0].entries[0].playerOrTeamName) + " est actuellement " + (data[34869316][0].tier) + " " + (data[34869316][0].entries[0].division) + " " + (data[34869316][0].entries[0].leaguePoints) + " LP")
- }
- })
- });
- //................................................................................. XP systéme
- /*
- pts start when follow
- + 15 pts / connexion / live
- + 50 pts / dl extention
- + 200 pts / sub
- + 50 pts / 1€
- + 6 pts / 5 msg on chat
- ................ DONE
- + 1 pts / 30sec
- + 1 pts / 1min
- + 50 pts / 1h (at lvl 50)
- */
- var users = {
- data : [],
- getUserData : function(username) {
- for (var i = this.data.length - 1; i >= 0; i--)
- if (this.data[i].username == username)
- return this.data[i];
- return null;
- },
- isInit: function(username) {
- return getUserData(username) == null;
- },
- sort: function() {
- this.data.sort(function(a,b) {
- return b.points - a.points;
- });
- for (var i = this.data.length - 1; i >= 0; i--)
- this.data[i].rank = i+1;
- },
- addPoint: function(user, points) {
- if (user.username == selfName)
- return;
- user.points += points;
- user.level += users.isLevelingUp(user);
- },
- getPointsNeeded: function(level) {
- return Math.ceil((level^3)/2);
- },
- isLevelingUp: function(user) {
- return user.points >= users.getPointsNeeded(1+user.level);
- },
- isIgnoredUser: function(username, self) {
- return self || username == "beliertv" || username == "belier-bot";
- },
- saveToFile: function() {
- this.sort();
- fs.writeFileSync(path.join(__dirname, "data.json"), JSON.stringify(users.data), "utf8");
- },
- /* resetXp: function(user) {
- if(users.points > uses.getPointNeeded(1+user.level)) {
- users.getPointsNeeded() = 0;
- }
- }, */
- loadFromFile: function() {
- fs.readFile(path.join(__dirname, "data.json"), "utf8", function(err, data) {
- if (err) console.error(err);
- if(data == "" || data == null)
- return;
- users.data = JSON.parse(data);
- });
- }
- };
- var selfName = "BelierBot";
- var viewers = [];
- users.loadFromFile();
- setInterval(function() {
- request('http://tmi.twitch.tv/group/user/belier_tv/chatters', function (error, response, body) {
- if (!error && response.statusCode == 200) {
- var json = JSON.parse(body);
- viewers = json.chatters.viewers.concat(json.chatters.moderators);
- }
- })
- }, 1000);
- setInterval(function() {
- for (var i = viewers.length - 1; i >= 0; i--) {
- var user = users.getUserData(viewers[i]);
- if (user != null)
- users.addPoint(user, 3);
- }
- users.sort();
- }, 60000);
- client.on("join", function (channel, username, self) {
- if (users.isIgnoredUser(username, self))
- return;
- var user = users.getUserData(username);
- if (user == null)
- users.data.push({
- username : username,
- points: 0,
- level: 1,
- rank: users.data.length
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement