Advertisement
distrib

Untitled

Jun 20th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.97 KB | None | 0 0
  1. /*
  2. config.js - Configuration File
  3. */
  4.  
  5. /*
  6. * Connection Details
  7. *
  8. * NOTE: Do NOT use "[server].psim.us", that is the client url
  9. * If you don't know what are the server, port or serverid values
  10. * run 'node getserver.js' to get them
  11. *
  12. */
  13.  
  14. exports.server = 'sim.psim.us';
  15.  
  16. exports.port = 8000;
  17.  
  18. exports.serverid = 'showdown';
  19.  
  20. exports.autoReconnectDelay = 10 * 1000;
  21. exports.connectionTimeout = 2 * 60 * 1000;
  22.  
  23. /*
  24. * Crash Guard
  25. *
  26. * If true, write errors to console instead of crashing
  27. */
  28.  
  29. exports.crashguard = true;
  30.  
  31. /*
  32. * Security log
  33. */
  34.  
  35. exports.securityLog = {ageOfLogs: 7};
  36.  
  37. /*
  38. * Watch Config
  39. */
  40.  
  41. exports.watchconfig = true;
  42.  
  43. /*
  44. * Login Details
  45. */
  46.  
  47. exports.nick = '';
  48.  
  49. exports.pass = '';
  50.  
  51. exports.autoReloginDelay = 60 * 1000;
  52.  
  53. /*
  54. * Rooms to join
  55. */
  56.  
  57. exports.rooms = ['lobby'];
  58.  
  59. /*
  60. * exports.rooms = 'all'; //For joining all rooms
  61. * exports.rooms = 'official'; //For joining official rooms
  62. * exports.rooms = 'public'; //For joining not-official rooms
  63. * exports.rooms = ['room1', 'room2']; //For joining some rooms
  64. */
  65.  
  66. exports.privateRooms = { //Rooms listed here will be ignored by seen command
  67. //privateroomname: true
  68. };
  69.  
  70. exports.ignoreRooms = { //Rooms listed here will be ignored by CommandParser (bot is "asleep" in those rooms)
  71. //roomid: true
  72. };
  73.  
  74. exports.initCmds = ['|/avatar 120']; // Other commands (avatar, blockchallenges, etc)
  75.  
  76. /*
  77. * Auth configuration
  78. */
  79.  
  80. exports.exceptions = {
  81. '0ni': true
  82. };
  83.  
  84. /*
  85. * 'userid': 'rank' or 'userid': true for full access
  86. * Example:
  87. *
  88. * exports.exceptions = {
  89. * 'ecuacion': true,
  90. * 'excepted': true
  91. * };
  92. *
  93. */
  94.  
  95. exports.ranks = ['+', '\u2605', '%', '@', '#', '&', '~'];
  96.  
  97. exports.globalPermissions = {
  98. 'voice': '+', //Min rank to broadcast in a server
  99. 'driver': '%', //Min rank to mute. Also min staff rank
  100. 'moderator': '@', //Min rank to ban
  101. 'roomowner': '#', //Rank for using room settings commands like set, lang, mod...
  102. 'admin': '~' //Rank for using global admin commands
  103. };
  104.  
  105. /*
  106. * Commands configuration
  107. */
  108. exports.commandTokens = ['.','-','~']; //Array of valid command characters
  109.  
  110. exports.commandTokens = ['.']; //Array of valid command characters
  111.  
  112. exports.defaultPermission = '%';
  113.  
  114. exports.permissionExceptions = {
  115. //command: 'rank'
  116. 'say': '#',
  117. 'info': '+',
  118. 'wall': '%',
  119. 'autoban': '#',
  120. 'banword': '#',
  121. 'joinphrase': '#',
  122. 'challenge': '%',
  123. 'searchbattle': '~',
  124. 'tournament': '@',
  125. 'games': '#'
  126. };
  127. exports.botguide = "https://github.com/Spandan7/Abyssal-Bot/blob/master/commands/README.md";
  128.  
  129. //When you pm the bot but don't use a command, it replies you this message. Example: "Hi, I'm a bot. Use .help to view a command guide"
  130. //The var #USER is replaced with the username that pms it
  131. exports.pmhelp = "Hi #USER! I am a robot, please PM another staff member if you need help. Command guide: https://github.com/Spandan7/Abyssal-Bot/blob/master/commands/README.md";
  132.  
  133. exports.botguide = "https://github.com/Ecuacion/Pokemon-Showdown-Node-Bot/blob/master/commands/README.md";
  134.  
  135. //When you pm the bot but don't use a command, it replies you this message. Example: "Hi, I'm a bot. Use .help to view a command guide"
  136. //The var #USER is replaced with the username that pms it
  137. exports.pmhelp = "Hi #USER! I am a robot, please PM another staff member if you need help. Command guide: https://github.com/Ecuacion/Pokemon-Showdown-Node-Bot/blob/master/commands/README.md";
  138.  
  139.  
  140. /*
  141. * Language configuration
  142. */
  143.  
  144. exports.language = 'french';
  145.  
  146. /*
  147. * Configuration for console messages
  148. */
  149.  
  150. exports.debug = {
  151. /* Basic messages - Production Mode */
  152. error: true,
  153. ok: true,
  154. errlog: true,
  155. info: true,
  156. room: true,
  157.  
  158. /* Monitoring */
  159. monitor: true,
  160. status: true,
  161. battle: false,
  162.  
  163. /* Debug Mode */
  164. debug: false,
  165. cmdr: false,
  166.  
  167. /* Low Level */
  168. recv: false,
  169. sent: false
  170. };
  171.  
  172. /*
  173. * Configuration for specific
  174. * commands and features
  175. */
  176.  
  177. /*
  178. * Moderation
  179. */
  180.  
  181. exports.moderation = {
  182. modException: '%', // Min rank for not receive moderation
  183.  
  184. allowmute: true,
  185. disableModNote: false,
  186.  
  187. MOD_CONSTS: {
  188. FLOOD_MESSAGE_NUM: 5,
  189. FLOOD_PER_MSG_MIN: 500, // this is the minimum time between messages for legitimate spam. It's used to determine what "flooding" is caused by lag
  190. FLOOD_MESSAGE_TIME: 6 * 1000,
  191.  
  192. MIN_CAPS_LENGTH: 18,
  193. MIN_CAPS_PROPORTION: 0.8,
  194.  
  195. MAX_STRETCH: 7,
  196. MAX_REPEAT: 4
  197. },
  198.  
  199. values: {
  200. 'spam-p': 3,
  201. 'spam': 4,
  202. 'spam-link': 4,
  203. 'flood-hard': 3,
  204. 'flood': 2,
  205. 'caps': 1,
  206. 'stretch': 1,
  207. 'banwords': 2,
  208. 'inapwords': 2,
  209. 'servers': 2,
  210. 'youtube': 2,
  211. 'spoiler': 2,
  212. 'replays': 1
  213. },
  214.  
  215. modDefault: {
  216. //basic mods
  217. 'caps': 1,
  218. 'stretching': 1,
  219. 'flooding': 1,
  220. 'spam': 1,
  221.  
  222. 'bannedwords': 1,
  223. 'inapropiate': 1,
  224.  
  225. //specific mods
  226. 'spoiler': 0,
  227. 'youtube': 0,
  228. 'psservers': 0,
  229. 'replays': 0,
  230.  
  231. //multiple infraction
  232. 'multiple': 1,
  233.  
  234. //zero tolerance
  235. 'zerotol': 1
  236. },
  237.  
  238. punishments: [
  239. "warn",
  240. "mute",
  241. "hourmute",
  242. "roomban"
  243. ],
  244.  
  245. psServersExcepts: {
  246. "showdown": 1,
  247. "smogtours": 1,
  248. "sim": 1
  249. },
  250.  
  251. zeroToleranceDefaultLevel: 'h',
  252. zeroToleranceLevels: {
  253. 'l': {name: 'Low', value: 1},
  254. 'n': {name: 'Normal', value: 2},
  255. 'h': {name: 'High', value: 3}
  256. }
  257. };
  258.  
  259. /*
  260. * Battles
  261. */
  262.  
  263. exports.aceptAll = false;
  264.  
  265. exports.maxBattles = 1;
  266.  
  267. exports.initBattleMsg = ['gl hf'];
  268.  
  269. exports.winmsg = ['GG', 'g_g'];
  270.  
  271. exports.losemsg = ['gg', 'wp'];
  272.  
  273. exports.battleMessages = {
  274. /* Examples of battle messages:
  275. 'crit': {
  276. 'self': ['lol that hax', 'stop haxing pls'],
  277. 'foe': ['sorry', 'wow sorry for that', 'get critted']
  278. },
  279. 'miss': {
  280. 'self': ['wow hax', 'lol #poke you\'re blind']
  281. }
  282. */
  283. };
  284.  
  285. exports.battleModules = {
  286. /* Algorithms for use in battles */
  287. "challengecup1v1": "ingame-nostatus",
  288. "1v1": "ingame-nostatus"
  289. };
  290.  
  291. //exports.battleLog = {ageOfLogs: 1}; // Days
  292.  
  293. exports.abandonedBattleAutojoin = true;
  294.  
  295. exports.ladderCheckInterval = 10 * 1000;
  296.  
  297. exports.ladderNumberOfBattles = 1;
  298.  
  299. exports.formatAliases = {
  300. 'random': 'Random Battle',
  301. 'randomdoubles': 'Random Doubles Battle',
  302. 'randomtriples': 'Random Triples Battle',
  303. 'doubles': 'Doubles OU',
  304. 'triples': 'Smogon Triples',
  305. 'vgc': 'Battle Spot Doubles (VGC 2015)',
  306. 'vgc2015': 'Battle Spot Doubles (VGC 2015)',
  307. 'ag': 'Anything Goes',
  308. 'oras': 'OU',
  309. 'bw': '[Gen 5] OU',
  310. 'dpp': '[Gen 4] OU',
  311. 'adv': '[Gen 3] OU',
  312. 'gsc': '[Gen 2] OU',
  313. 'rby': '[Gen 1] OU'
  314. };
  315.  
  316. /*
  317. * Tournaments
  318. */
  319.  
  320. exports.tourDefault = {
  321. format: 'ou',
  322. type: 'elimination',
  323. maxUsers: null,
  324. timeToStart: 30 * 1000,
  325. autodq: 1.5,
  326. scoutProtect: false
  327. };
  328.  
  329. exports.leaderboards = {};
  330.  
  331. /* Leaderboard example:
  332. exports.leaderboards['tournaments'] = {
  333. winnerPoints: 5,
  334. finalistPoints: 3,
  335. semiFinalistPoints: 1,
  336. battlePoints: 0,
  337. onlyOfficial: true // If true, only official tours (must use .official command) will be counted
  338. };
  339. */
  340.  
  341. /*
  342. * Youtube
  343. */
  344.  
  345. exports.youtube = {
  346. enableByDefault: false
  347. };
  348.  
  349. /*
  350. * Chat Logger
  351. */
  352.  
  353. exports.chatLogger = {
  354. rooms: [],
  355. ignore: {'tournament': ['update', 'updateEnd'], 'formats': true, 'challstr': true, 'updateuser': true, 'queryresponse': true},
  356. logIntroMessages: true,
  357. ageOfLogs: 7 //in days (max age of logs, 0 to keep logs infinitely)
  358. };
  359.  
  360. /*
  361. exports.logServer = {
  362. port: 5400,
  363. bindaddress: null,
  364. users: {
  365. 'admin': {
  366. name: 'Administrator',
  367. pass: 'password',
  368. access: {'room1': 1, 'room2': 1}
  369. }
  370. },
  371. rooms: {
  372. 'room1': {private: true},
  373. 'room2': {private: true}
  374. }
  375. };
  376. */
  377.  
  378. /*
  379. * Auto-Invite
  380. */
  381.  
  382. exports.autoInvite = [
  383. //{linked: 'public room linked', private: 'private room', rank: '+'}
  384. ];
  385.  
  386. /*
  387. * GitHub
  388. * Read this: https://developer.github.com/webhooks/creating/
  389. */
  390.  
  391. exports.github = {
  392. room: 'development',
  393. secret: "",
  394. port: 3420
  395. };
  396.  
  397. /*
  398. * Groupchats
  399. */
  400.  
  401. exports.groupchats = {};
  402.  
  403. exports.groupChatTryJoinInterval = 60 * 1000;
  404.  
  405. /* Test example
  406. exports.groupchats['groupchat-ecuacion-test'] = {
  407. toJoin: ['/join groupchat-ecuacion-test'],
  408. onJoin: ['Hi guys!'],
  409. onLeave: []
  410. };
  411. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement