teleias

a5vbot changelog and version

Jan 5th, 2015
3,467
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.01 KB | None | 0 0
  1. current stable version | "v033115 Shurima's Legacy" |
  2. current nightly version | "v033115 Shurima's Legacy" |
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. below is archived.
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. Request new features here:
  37. https://docs.google.com/spreadsheets/d/1ksqTjtqTFDqjvJVqoamXv4FfDCRQKBRX3I0ZGsZ25y4/edit?usp=drive_web
  38.  
  39. Thank you to my donators.
  40. {
  41. cyoung_mi - $20
  42. TheBigShakuna - $5, $10
  43. m08d15y76 - $10
  44. LittleChook - Many things.
  45. }
  46. Notes
  47. {
  48. Comodo Firewall will screw up installation.
  49. Please have Comodo ignore the .jar's folder.
  50. }
  51. Released in v030715
  52. {
  53. UGHHHH. I UPLOADED THE WRONG PROJECT LAST NIGHT. SORRY.
  54. Notes:
  55. Still busy.
  56. Parasite:
  57. Vocal now controls all the parasite's messaging.
  58. $n bugs:
  59. Should be fixed now.
  60. Try out combinations of $n and regex and such, there might be weird errors.
  61. If you see one, tell me so I can fix it!
  62. }
  63. Released in v022815
  64. {
  65. Notes:
  66. Okay guys, I told you there would come a day when I'd be unable to put time into this project.
  67. I'm working over 40 hours a week on top of also being a full time student right now, and
  68. by my estimations, I have about 9 hours per week to do things besides be in class/at work/sleep.
  69. That means 9 hours per WEEK to eat, do homework, relax, etc etc.
  70. I used to have 9 hours a day to do that stuff.
  71. Anyways, I'm super busy, this will be on the backburner.
  72. I'm still supporting it, just can't push out updates.
  73. If you NEED something done, talk to me and we'll see.
  74. Strict PointSystem:
  75. So if you can't trust your mods, I created a strict option on the pointsystem (defaults to off).
  76. When you turn it on ("!pointstrict on" or modify .points file), it will disallow mods from doing admin-only features like !pointaward. This is mostly so mods can't abuse and give themselves free points.
  77. Command System Plus:
  78. List! This is cool. You can have your commands do a list of things.
  79. First time command is called, it will do item_1. Then item_2, then _3, then _4, etc.
  80. It will wrap around once it finishes.
  81. Separate your list items with a "$l" delimiter.
  82. Stagger your timed messages by calling Commands if you want.
  83. Example Command: "!test", "<list>a$lb$lc$ld</list>"
  84. Example output:
  85. a5vastra > "!test"
  86. a5vbot > "a"
  87. a5vastra > "!test"
  88. a5vbot > "b"
  89. a5vastra > "!test"
  90. a5vbot > "c"
  91. a5vastra > "!test"
  92. a5vbot > "d"
  93. a5vastra > "!test"
  94. a5vbot > "a"
  95. a5vastra > "!test"
  96. a5vbot > "b"
  97. Checkin Award:
  98. No one uses check in really, but it's a great way to find who is active in chat.
  99. It's like a raffle but everyone who enters wins!
  100. Learn how to use the check-in system by yourself or ask me later, I won't write it here.
  101. https://docs.google.com/document/d/1PXeNcSwnV8_JeNM3rv-UEY9OUzNoWOJhWHbGpq6rTY0
  102. Anyways, new command: "!checkinaward 5" gives everyone who checked in 5 points!
  103. This might flood chat. Sorry, it makes sense to flood chat rather than be silent in my opinion.
  104. }
  105. Released in v021715
  106. {
  107. Chat Console V2:
  108. Autoscroll
  109. Bankheist:
  110. Load and Save. (Currently disabled, but coded in)
  111. Raffler:
  112. !rafflemultienter on/off
  113. You can let people multienter or not with this command.
  114. Untested, don't know how well or not it works.
  115. Point Tracker:
  116. !pointrank <name>
  117. was bugged, fixed.
  118. Greeter:
  119. Special greetings don't count towards 3 greetings / 30s rule.
  120. }
  121. Released in v021315
  122. {
  123. Command System Plus:
  124. Read:
  125. Improved. You can now read from local files as well as webfiles.
  126. "<read>file://a5vastra.rankings</read>" will read the file "a5vastra.rankings" from your .bot's folder.
  127. It ignores all new lines from your file (this is a plus), so feel free to use new lines for your own readability purposes.
  128. Addon Commands:
  129. Added your own bot commands / timed messages.
  130. Regex ones will not appear here, as they are formatted a different way.
  131. Point Tracker:
  132. new command: !logpointrank top <numberHere>
  133. example: "!logpointrank top 5"
  134. Same as pointrank top 5, but it will create the file in your folder.
  135. The file name is "<yourBotOwnerNameHere>.rankings"
  136.  
  137. }
  138. Released in v021115 (Rereleased at 2304hrs PST)
  139. {
  140. NOTE:
  141. Might not be stable, I'm not exactly sure.
  142. Either way, I'm pushing this update out right now because I think you will love it.
  143. If this new version crashes on you, revert to the old one here https://dl.dropboxusercontent.com/u/17018269/a5vbot/020815.jar
  144. Been experiencing odd follower bug: something is wrong with Twitch API. If the bot says like 100 follower notifications, sorry. This looks like entirely twitch's fault. I've made a couple patches I'll release tonight.
  145. Quoter Bugfix:
  146. It didn't know how to count, hopefully it does now.
  147. Predictions:
  148. Sometimes viewers like to guess about what is going to happen in the near future.
  149. Instead of having them pull out their stopwatches,
  150. I thought it would be nice to add functionality that lets the entire stream know what
  151. the prediction was, and when it was made.
  152. All the predictions are made in the same way, and must include a 'prediction' and a 'predicted time'.
  153. The bot counts once each second, and ticks each prediction one by one.
  154. There is no message at the time when the actual time exceeds/equals the predicted time.
  155. commands:
  156. !prediction [predictionHere] minutesHere
  157. ex: !prediction [a5v astra will finish the level] 4
  158. means "I predict that a5v astra will finish the level in 4 minutes"
  159. !predictioncheck
  160. means "Check the prediction that I made earlier"
  161. !predictioncheck nameHere
  162. ex: !prediction a5vastra
  163. means "Check the prediction that a5vastra made earlier"
  164. !predictionend
  165. means "End the prediction that I made earlier"
  166. ending means you can no longer access that prediction later.
  167. !predictionend nameHere
  168. ex: !predictionend a5vastra
  169. means "End the prediction that a5vastra made earlier"
  170. ending means you can no longer access that prediction later.
  171. !predictionpause
  172. !predictionresume OR !predictionunpause
  173. <admin only>
  174. pauses/resumes the prediction timer. use this if you take a break and afk or something.
  175. !predictionclear
  176. <admin only>
  177. clears all predictions.
  178. Help:
  179. Added a list of commands for each function. Typing "!help raffler" will tell you all commands for the raffler.
  180. Typing "!help" will give you a list of all different "!help <addon>"s available.
  181. Chat Console v2:
  182. A chat/event log.
  183. This will auto-open with the bot. Closing it only hides it.
  184. Reopen it again with a '!chatconsole' command.
  185. There are a couple menu options:
  186. >Edit>Clear
  187. >View>Message Log
  188. >Event Log
  189. You can enter chat and command from the new chat console.
  190. Addon Commands:
  191. Gives full access to every command, from the GUI.
  192. }
  193. Released in v020815
  194. {
  195. Command System Plus additions:
  196. These are all command extensions, to be used in the Command System.
  197. format for examples is "!command", "message"
  198. all examples are example usage. you can change the command/message if you want
  199. just learn to use my format.
  200. random:
  201. allows you to randomly switch between messages.
  202. ex:
  203. "!random", "123<random>$ra$rb$rc$rd</random>456"
  204. user> !random
  205. bot > 123b456
  206. user> !random
  207. bot > 123c456
  208. user> !random
  209. bot > 123b456
  210. user> !random
  211. bot > 123d456
  212. rng:
  213. allows you to generate a random number between two numbers
  214. lowerbound:upperbound
  215. ex:
  216. "!rng", "<rng>1:10</rng>"
  217. when user says !rng, bot says a random number between 1:10
  218. user> !rng
  219. bot > 1
  220. user> !rng
  221. bot > 6
  222. user> !rng
  223. bot > 2
  224. "!rng2", "!pointaward a5vastra <rng>1:100</rng>"
  225. when user says !rng2, bot gives a5vastra between 1:100 points
  226. "!rng3", "!pointaward $u <rng>1:100</rng>"
  227. when user says !rng3, bot gives the user between 1:100 points
  228. math:
  229. A really crappy math engine. only works with integers.
  230. Sequentially does one operation at a time. ignores order of operations.
  231. I don't feel like downloading/using someone else's library,
  232. and the alternative is to use Dijkstra's Shunting Yard algorithm,
  233. which I don't feel like implementing. Maybe later.
  234. ex:
  235. "!math", "<math>1+2</math>"
  236. user> "!math"
  237. bot > "3"
  238. "!math2", "<math>1+2*3</math>"
  239. user> "!math2"
  240. bot > "9" NOTE. it does (1+2)*3. reads left to right, ignores order of operations.
  241. below is an example of fahrenheit to celsius conversions
  242. "<regex>!ftoc (<g1>\d+)</regex>", "$g1f = <math>$g1-32*5/9</math>c"
  243. "<regex>!ctof (<g1>\d+)</regex>", "$g1c = <math>$g1*9/5+32</math>f"
  244. user> "!ftoc 212"
  245. bot > "212f = 100c"
  246. user> "!ctof 100"
  247. bot > "100c = 212f"
  248. below is an example of any math operation.
  249. "<regex>!foo (?<g1>\d+)(?<g2>\+|\-|\/|\*|\^)(?<g3>\d+)</regex>", "<math>$g1$g2$g3</math>"
  250. user> "!foo 1+2"
  251. bot > "3"
  252. user> "!foo 4^3"
  253. bot > "64"
  254. }
  255. Released in v020715
  256. {
  257. Dropbox:
  258. !upload <filename here>
  259. uploads your file to my dropbox. the bot will message the link to the dropbox file.
  260. !uploadsilent <filename here>
  261. uploads your file to my dropbox. the bot will NOT message the link to the dropbox file.
  262. if you want this to happen every minute or so, make it a timed message.
  263. Greeter:
  264. Bot will no longer spam greetings. Limited to 3 per 30s. Might this miss some people? Yes. Too bad.
  265. Bet:
  266. !betshow is now a command.
  267. BankHeist:
  268. I have no idea how this is supposed to work, so here is my implementation.
  269. The higher that total wager, the higher level bank they will be able to hit.
  270. The higher level banks will have lower winrates, but higher rewards.
  271. There is a set winrate/loserate/failrate.
  272. If the winrate is 27.5% and loserate is 40%, and 10 people enter,
  273. 3 will win and 4 will lose.
  274. The losers lose all their wager.
  275. The winners win BACK their wager*bankRewardMultiplier.
  276. The bot picks a random number between 0.0 and 1.0
  277. If that number is LOWER than the failrate, then EVERYONE loses.
  278. You will be able to set your own bank level names/winrate/loserate/minTotalWager.
  279. commands:
  280. !bankheist
  281. wagers 1 in the bankheist, or adds 1 to current bankheist
  282. !bankheist <wager>
  283. wagers <wager> in the bankheist, or adds <wager> to current bankheist
  284. ex: !bankheist 10
  285. !bankheistshowdown OR !heistshowdown
  286. admin/mod only
  287. ends the bankheist
  288.  
  289. Poller:
  290. Used to say <admin> started the poll, even if it was a mod.
  291. Timed Messages:
  292. <command> tag now works with timed messages. you can make timed messages trigger commands.
  293. WARNING: If you don't use <command> tag and you try this,
  294. your bot will get screwed into an infinite loop.
  295. }
  296. Released in v020415 ! Updated at 1820hrs PST GMT+8 time on 020415
  297. {
  298. Autoload:
  299. Let's be honest, setting up was a huge pain. Starting in v020415, I made some improvements.
  300. There are three new situations the bot checks on load:
  301. 1) There are no .bot files in the folder.
  302. Ask the user if they want help setting up.
  303. Prompt user three times for channel/botname/oauth.
  304. Load the save and load the .bot file they just made.
  305. 2) There is exactly one .bot file in the folder.
  306. Automatically open and load it.
  307. 3) There is more than one .bot file in the folder.
  308. Prompt user to pick a .bot file to load, using a dropdown menu.
  309. Load the file.
  310. Point rank:
  311. !pointrank <nameHere>
  312. Bot will find and return the ranking of the named account, if it exists.
  313. !pointrank
  314. Bot will find and return the ranking of the sender.
  315. !pointrank #<numberHere>
  316. Bot will find and return the ranking of the account at rank specified, if valid.
  317. !pointrank top <numberHere>
  318. Bot will find and chat (as much as it can in one line)
  319. the status of the top 5 or whatever rated accounts.
  320. example:
  321. astra> !pointrank
  322. bot > astra is ranked #1 of 145, with 1325 points, which is top 100%!
  323. chook> !pointrank
  324. bot > chook is ranked #43 of 145, with 427 points, which is top 71.7%!
  325. astra> !pointrank chook
  326. bot > chook is ranked #43 of 145, with 427 points, which is top 71.7%!
  327. astra> !pointrank #1
  328. bot > astra is ranked #1 of 145, with 1325 points, which is top 100%!
  329. astra> !pointrank #137
  330. bot > condensate is ranked #137 of 145, with 0 points, which is top 6.21%!
  331. astra> !pointrank top 3
  332. bot > here are the top 3 ranked:
  333. a5vastra(#1, 1325) maxmunchu50(#2, 765) fearinsidiouslol(#3, 551)
  334. Parasite/Autohost:
  335. Now more options in the .parasite file.
  336. Control/customize these by placing the example commands in the file.
  337. Period:
  338. You can change the period by typing "period: 15" in the .parasite file.
  339. It's in minutes, so 15 is 15 minutes. The bot won't allow a lower period than 10 mins.
  340. Vocal:
  341. You can turn off the 1 and 5 minute warning by typing "vocal: off" in the .parasite file.
  342. Priority:
  343. There are three types of priorities. I haven't tested these out, so it's up to you to test.
  344. Type 1: none:
  345. Bot will randomly see who is on and randomly pick one.
  346. Type 2: ordered:
  347. Bot will see who is on, going from top to bottom.
  348. As soon as it finds an online channel, it will host it.
  349. Type 3: grouped:
  350. Bot will see who is on, going from top to bottom.
  351. As soon as it finds an online channel, it will add it to a list.
  352. As soon as it finds a line with nothing on it, it will check the list.
  353. If there is nothing in list, then it continues scrolling down.
  354. If there is channels in the list, it will randomly host one of them.
  355. "priority: none" "priority: ordered" "priority: grouped"
  356. Also, some twitchtv chat commands for parasite:
  357. !!parasiteenable!!
  358. enables the parasite
  359. !!parasitedisable!!
  360. disables the parasite
  361. !parasiterefresh
  362. automatically searches for a new channel to host (might choose the same one).
  363. !parasitecheck
  364. displays all online streams
  365. Note:
  366. If you have a grouped/ordered priority, when it says all online streams, it will be incorrect.
  367. If grouped, it will only show online streams from the highest level group.
  368. If ordered, it will only show the highest level stream.
  369. }
  370. Released in v020315
  371. {
  372. Queuer:
  373. Added the ability to queue multiple at once.
  374. !queuenext 5
  375. will queue off the top 5 people.
  376. }
  377. Released in v013115
  378. {
  379. Offline points:
  380. The bot will check if you are on or offline every 5 minutes.
  381. If you are online, it will give your "regular" points.
  382. If you are offline, it will give your "offline" points.
  383. !pointofflinereward 5
  384. will change your point reward (when offline) to 5.
  385. }
  386. Released in v013015
  387. {
  388. Capitalization no longer matters for .bot file's channel/account
  389. Finally I fixed that.
  390. Documentation/Code update for PARASITE system
  391. You queue up a list of channels to host. It will randomly select one from your list that is ONLINE.
  392. To create your list:
  393. Create a plaintext file named "yourName.parasite". Mine is called "a5vastra.parasite".
  394. Place it in the same folder as the .jar
  395. Place the name of each twitchtv channel you want to host on a new line
  396. example:
  397. a5vastra
  398. littlechook
  399. To activate this, say "!!parasiteenable!!" into chat while bot is active.
  400. The parasite will take over your stream, go ahead and afk if you want.
  401. The bot will then say into chat "!host channelNameHere", and your twitch.tv will begin hosting them.
  402. It will switch every 10 minutes to a new channel to host.
  403. This is useful for redirecting people to your friends' streams when you are offline.
  404. Disable it with the command "!!parasitedisable!!". You will get full control of your stream back.
  405. If you place "period: 61" in your parasite file on its own line, the bot will read and use that instead of default 10 minute period. 61->61 minutes.
  406. NOTE: for this to work, you need to go to your twitchtv dashboard>editing and add your bot as an editor
  407. Sorry, twitch's fault, not mine. http://blog.twitch.tv/2014/07/host-mode-faq/
  408. }
  409. Released in v012715
  410. {
  411. Bet System
  412. You can now close the bet from further entries with !betclose.
  413. You cannot open until you begin a new bet.
  414. }
  415. Released in v012115
  416. {
  417. !raffleprizes
  418. shows the list of the prizes
  419. !raffleprizes [a] [b] [c] blahblahblah [d]
  420. creates a new prize list.
  421. any amount of prizes.
  422. place prize names in [ ].
  423. anything not in [ ] will be ignored.
  424. The last element will be given first, then deleted from the list.
  425. !rafflewinners
  426. shows everyone who has won a prize
  427. }
  428. Released in v012015
  429. {
  430. New feature:
  431. Queuer
  432. more info coming later.
  433. }
  434. Released in v011615
  435. {
  436. Bugfix:
  437. Several minor bugfixes.
  438. I don't even know what.
  439. Cleaned up code for responder.
  440. Cleaned up pointtracker a bit. For admins who use !pointaward, correctly state who used command.
  441. Added more cases to hi bot.
  442. Command System PLUS:
  443. This is straight up amazing.
  444. You can now do almost unlimited things with the command system.
  445. Regular command:
  446. Use case: When I say "X", have the bot say "Y".
  447. Example : "!test1", "this is a test"
  448. user : "!test1"
  449. bot : "this is a test"
  450. Multiline command:
  451. Use case: When I say "X", have the bot say "A", then "B", then "C".
  452. How to : Place $n anywhere you want a new line to start.
  453. Example : "!test2", "A$nB$nC"
  454. user : "!test2"
  455. bot : "A"
  456. bot : "B"
  457. bot : "C"
  458. Lookup command:
  459. Use case: When I say "X", I want the bot to look up a website and say what it finds.
  460. How to : Place the webfile to read from inbetween <read> </read> tags.
  461. Example : "!test3", "this is read from website: <read>http://pastebin.com/whgi63Wc</read>"
  462. user : "!test3"
  463. bot : "this is read from website: this is a test from pastebin"
  464. $u User Substitution:
  465. Use case: When I say "X", I want the bot repeat my name somewhere.
  466. How to : Place a $u in the message.
  467. Example : "!test4", "$u just asked me to test."
  468. user : "!test4"
  469. bot : "user just asked me to test."
  470. Regular Expressions:
  471. Use case: Any string or pattern matching thing possible.
  472. How to : Place regex between <regex> </regex> tags in the command. Not the message.
  473. Example : "<regex>!regextest (\d+)</regex>", "you entered a number"
  474. "<regex>!regextest (\w+)</regex>", "you entered a letter"
  475. "<regex>!regextest a(.*)b</regex>", "a string starting with a and ending with b"
  476. user : "!regextest 5"
  477. bot : "you entered a number"
  478. user : "!regextest asdf"
  479. bot : "you entered a letter"
  480. user : "!regextest a23ibriwfj9df9sdfsjdb"
  481. bot : "a string starting with a and ending with b"
  482. user : "!regextest asdfb"
  483. bot : "you entered a letter"
  484. bot : "a string starting with a and ending with b"
  485. Regular Expressions with Groups:
  486. Use case: Match a string and use it in the command.
  487. How to : Name pattern by changing (pattern) to (?<gX>pattern), where gX is g0, g1, g2..g9
  488. Example : "<regex>!follow (?<g1>\w+)</regex>", "hey guys, give $g1 a follow!"
  489. "<regex>number1 (?<g1>\d+), number2 (?<g2>\d+)</regex>", "$g1 and $g2"
  490. user : "!follow asdf"
  491. bot : "hey guys, give asdf a follow!"
  492. user : "number1 23 number2 41"
  493. bot : "23 and 41"
  494. user : "number1 a number2 41"
  495. bot <no response>
  496. Admin only command:
  497. Use case: Commands are now stronger. You might not want everyone to be able to use some.
  498. How to : Place <adminonly> in the message. This tag will not appear in the message.
  499. Example : "!test5", "anyone can use this"
  500. "!test6", "this is admin only <adminonly>"
  501. user : "!test5"
  502. bot : "anyone can use this"
  503. admin: "!test5"
  504. bot : "anyone can use this"
  505. user : "!test6"
  506. bot <no response>
  507. admin: "!test6"
  508. bot : "this is admin only"
  509. Reanalyze as Command:
  510. Use case: Use one personA's command1 to proc command2, as if personA said command2.
  511. How to : Place <command> tag in the message. This tag will not appear in the message.
  512. Example : "!test7", "Seventh test $u"
  513. "start test 7", "!test7"
  514. "!test8", "Eighth test $u"
  515. "start test 8", "!test8<command>"
  516. user : "!test7"
  517. bot : "Seventh test user"
  518. user : "start test 7"
  519. bot : "!test7"
  520. bot : "Seventh test bot"
  521. user : "!test8"
  522. bot : "Eighth test user"
  523. user : "start test 8"
  524. bot reads this command, and internally changes it to "!test8"
  525. bot : "Eighth test user"
  526. Protection:
  527. Note: this is still barely supported, but I included it anyways as a test.
  528. It will save/load to a file, but it doesn't in this version.
  529. Commands:
  530. !enable protection
  531. enables the protection
  532. !disable protection
  533. disables the protection
  534. (the following commands do just what you'd think they do.)
  535. !protectionmaxcaps <maxCaps>
  536. !protectionmaxwordlength <maxWordLength>
  537. !protectionmaxsymbols <maxSymbols>
  538. !protectionmaxmessagelength <maxLength>
  539. !protectionmaxemotes <maxEmotes>
  540. note: you can leave out the "protection" if you want.
  541. so "!maxcaps 5" does the same thing as "!protectionmaxcaps 5"
  542. }
  543. Released in v011515
  544. {
  545. Bugfix:
  546. Several bugfixes.
  547. I don't even know what.
  548. Responder:
  549. Added "notice me senpai" custom response for Zofeeuh.
  550. "Broken" command isn't working right and is thus disabled.
  551. Works with botname now. Have to use the full botname though (or bot).
  552. Multiline Commands:
  553. "!test", "a$nb$nc" will make the bot say "a", then "b", then "c" on new lines.
  554. This will be VERY useful later.
  555. Quote:
  556. the following are admin only
  557. !addquote <!command> <quote>
  558. adds quote. I'm too tired to write a better description for this.
  559. !addquotenew <quote>
  560. looks through and writes a new quote, autogenerating a command for it.
  561. !addquotedate <!command> <quote>
  562. adds a quote as before, stores with a date.
  563. !addquotedatenew <quote>
  564. combines addquotenew and addquotedate
  565.  
  566. the following can be used by anyone
  567. !quote
  568. gets a random quote
  569. !<quotecommand>
  570. gets that command
  571. Point:
  572. !pointgive fixed.
  573.  
  574. Mods:
  575. Mod command should finally work. This is verified.
  576. You can do !modcheck to have bot show you the mods it sees.
  577. }
  578. Released in v011015
  579. {
  580. Bugfix:
  581. Raffler wouldn't start.
  582. Bot now logs changes to pointname/messages/rewards/minutes
  583. Points:
  584. Name your points with custom casing by editing the .points file.
  585. Otherwise, all pointnames will be forced to lowercase.
  586. All !pointXXXXX commands can now be replaced by your point name.
  587.  
  588. }
  589. Released in v010915
  590. {
  591. Several bugfixes:
  592. Raffler private follower-only check was incorrect
  593. Unclaimed prizes could restart multiple raffles.
  594. }
  595. Released in v010615
  596. {
  597. RNG:
  598. This was already in the code, but I had forgot about it.
  599. command:
  600. !rng <max>
  601. generates a number between 0 and <max>, {n: 0 <= n < max}
  602. !rng <min> <max>
  603. generates a number between <min> and <max>, {n: min <= n < max}
  604. Custom !PointCheck:
  605. Lets say your name for a point is a "coin".
  606. !pointcheck will tell a user how many points they have.
  607. Now, !coincheck will also work. Or more generally
  608. !<pointname>check
  609. Note: the "check" at the end is optional. This also works. !<pointname>
  610. Now, I'm aware that it's possible that your <pointname> will overlap with some other command.
  611. If it does, tough luck. Choose a better pointname, sorry.
  612. Quote Database:
  613. Saves to <yourname>.quotes
  614. This has a VERY particular format.
  615. This is my actual code for it.
  616. "^!addquote !(\\w+) ([\\w\\s-\",'\\./:]+)$"
  617. it means this:
  618. STARTS WITH: "!addquote "
  619. THEN : "!"
  620. THEN : a word
  621. THEN : " "
  622. ENDS WITH : repeat any of the following: {letter, space, -, ", comma, ', period, /}
  623. The following characters are NOT supported:
  624. + < > ? @ # $ % ^ & * ( )
  625. Don't add them to your quote or it won't work.
  626. I could add them if I wanted, but I doubt it's worth the hassle.
  627. example usage:
  628. admin says> !addquote !quote2 "in 2042, columbus will sail the ocean blue" - a5vastra 1974
  629. admin says> !addquote !asdf The Soothsayer said: "Beware the ides of March"
  630. someone says>!quote2
  631. bot says> "in 2042, columbus will sail the ocean blue" - a5vastra 1974
  632. someone says>!asdf
  633. bot says> The Soothsayer said: "Beware the ides of March"
  634. admin says> !quoteshow
  635. bot say> !quote2 !asdf
  636. note:
  637. It's possible you can overlap commands with this. It doesn't necessarily have to be a quote.
  638. Your call. Use it how you will, I don't particularly care.
  639. Bugfix:
  640. !pointsname and the other new !points were using Regex Group 1 instead of 2.
  641. }
  642. Released in v010515
  643. {
  644. PHP Lookup commands:
  645. In your commands, you can read from websites.
  646. It's fairly limited though, it can probably read large websites but it will look really stupid.
  647. usage:
  648. command:
  649. "!test", "this is a file: <read=http://pastebin.com/raw.php?i=whgi63Wc>"
  650. the file at http://pastebin.com/raw.php?i=whgi63Wc says "this is a test from pastebin"
  651. when the command !test is called, the output is:
  652. "this is a file: this is a test from pastebin"
  653. Use this to read from websites.
  654. Mods can use !commands:
  655. Needs testing.
  656. The following people had admin rights for any implementation of a5vbot:
  657. The owner
  658. The bot
  659. a5vAstra
  660. This means that any admin-only command could only be used by them.
  661. Example of an admin-only command: !rafflebegin
  662. This new version should allow any moderator of the channel to also use these commands.
  663. Custom events to trigger +points:
  664. Previously, a point was given if
  665. 5 minutes had passed since last point AND
  666. 5 messages had been sent from user
  667. This new version should allow you to change the amount of minutes/messages needed.
  668. You cannot set the minutes needed below 1.
  669. There is no planned GUI for this.
  670. To change, type in this command:
  671. !pointminutesrequired <minutes>
  672. !pointmessagesrequired <messages>
  673. There are also shortcuts. You can say "p" instead of "points"
  674. !pminutesrequired <minutes>
  675. !pmessagesrequired <messages>
  676. And you can omit the "required"
  677. !pointminutes <minutes>
  678. !pminutes <minutes>
  679. !pointmessages <messages>
  680. !pmessages <messages>
  681. example usage:
  682. !pointminutesrequired 10
  683. !pointmessagesrequired 0
  684. would make the user get a point reward every 10 minutes.
  685. Custom name for points:
  686. Sometimes the bot mentions "points". You can customize this to be whatever you want.
  687. Let's say you wanted your points to be "a5v_coins".
  688. The bot should check plurality for you, so PLEASE don't name your points plural.
  689. If you do, you might end up with a message like this:
  690. "a5vbot awards a5vastra 10 a5v_coinss"
  691. I check if there should be an s on the end.
  692. "1 coin" is correct, "1 coins" is not.
  693. "2 coins" is correct, "2 coin" is not.
  694. I check. PLEASE don't name your points something plural. If you do, it's your fault.
  695. Needs testing.
  696. There may be a place or two where the bot says "points" instead of whatever your custom name is.
  697. There is no planned GUI for this.
  698. To change, type in this command:
  699. !pointname <name>
  700. or
  701. !pname <name>
  702. example usage:
  703. !pointcheck a5vastra
  704. "a5vastra has 100 points"
  705. !pointname a5v_coin
  706. !pointcheck a5vastra
  707. "a5vastra has 100 a5v_coins"
  708. Please note
  709. the bot will IGNORE your new name if it has a space in it, so use underlines if you want spaces.
  710. Custom reward for points:
  711. After the user waits <minutesRequired> minutes AND types <messagesRequired> messages, they get a reward.
  712. You can set this reward to be whatever you want, as long as it isn't negative.
  713. Needs testing.
  714. There is no planned GUI for this.
  715. example usage:
  716. !pointreward 5
  717. !preward 5
  718. will change the reward to 5 points.
  719. 2x rewards for followers:
  720. The reward from the pointTracker is doubled for those who are following.
  721. This is enabled by default and is not customizable.
  722. NOTE: Twitch API takes 1-3 minutes to check new followers, so it might not give 2x rewards to very new followers.
  723. Private Raffle Option:
  724. You may want to do a follower-only raffle.
  725. Either set the private option in the Raffler GUI OR
  726. !raffleprivate on
  727. sets the private to ON
  728. !raffleprivate off
  729. sets the private to OFF
  730. !raffleprivate
  731. sets the private to ON
  732. can be abbreviated as !rprivate on
  733. Refund/Cancel Raffles:
  734. You may need to cancel a raffle.
  735. !rafflecancel
  736. Is a new command that will end a raffle after refunding all entrants their points.
  737. This may spam chat, but whatever.
  738. You can also find it in the Raffler GUI.
  739. Check for updates:
  740. On load, the bot will check this text document.
  741. If the NAME is different, then the version being used is grossly outdated,
  742. and the bot will bring up a dialog asking if the user wants to see changelog,
  743. which includes the link to download new version.
  744. NAME is only changed in big releases or after a week or so.
  745. If the VERSION is different, then there is no dialog shown, as new versions might come up
  746. every night, if I'm updating a lot.
  747. Just say raffleenter:
  748. All text has been normalized. The raffler will only prompt people to say !raffleenter.
  749. However, !raffle is still a legitimate command and can be used as a shortcut.
  750. }
Advertisement
Add Comment
Please, Sign In to add comment