« first day (28 days earlier)      last day (3047 days later) » 
21:00 - 23:0023:00 - 00:00

21:07
!help
<The Tin Soldier> Bot initiated. Type !help for help.
<The Tin Soldier> @quartata Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; ಠ_ಠ; delete_self
No docs yet.
!punishment
<The Tin Soldier> @TanMath You are but a grease stain on the wheel of time compared to quartata.
Wow I really can't spell huh.
@Thatha wat? I am your master! do not say such things or be ready to bear the punishment...
21:09
!alex
<The Tin Soldier> @quartata ಠ_ಠ
!eval 1/0
<The Tin Soldier> @quartata 1/0 => Infinity
Witness my power, maggot.
!eval 0/0
!stab
21:09
<The Tin Soldier> I am a soldier, maggot! Do you think that will hurt ME?!
!eval 0/0
<The Tin Soldier> @TanMath 0/0 => NaN
Science!
<The Tin Soldier> Bot initiated. Type !help for help.
! while True: print 1
!eval
<The Tin Soldier> @Hipe99 SyntaxError: Value expected (char 1)
21:11
!eval !eval
A good try.
But I only evaluate MathJax expressions.
while True: print 1
Not even a command!
mwahaha
!help
<The Tin Soldier> @quartata Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; ಠ_ಠ; delete_self
No docs yet.
21:12
say "i am stupid"
!ಠ_ಠ
<The Tin Soldier> @quartata AlexA.
!say !say
<The Tin Soldier> @Hipe99 !say
!say "i am stupid"
21:13
<The Tin Soldier> @TanMath "i am stupid"
!alex
<The Tin Soldier> @Hipe99 ಠ_ಠ
!doorknob
<The Tin Soldier> 'OH GODS NO!! You can't leave us here with Doorknob! It'll be nethack everywhere!' -Geobits
8
Don't overuse that, since it stealth pings Alex.
I'll probably take that out
(it doesn't seem to work anyways)
21:14
@quartata really
!help
<The Tin Soldier> @Hipe99 Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; ಠ_ಠ; delete_self
No docs yet.
!time
<The Tin Soldier> @quartata Sat Nov 14 2015 13:14:55 GMT-0800 (PST)
!help scope
21:15
<The Tin Soldier> @Calvin'sHobbies Sat Nov 14 2015 13:15:05 GMT-0800 (PST)
It has a cooldown, just so you know.
That's why you might notice a time delay between messages.
!alex
<The Tin Soldier> @TanMath ಠ_ಠ
!stab
21:15
<The Tin Soldier> I am a soldier, maggot! Do you think that will hurt ME?!
!status
<The Tin Soldier> I am healthy and have Infinity minutes left to live.
<The Tin Soldier> @Calvin'sHobbies Sat Nov 14 2015 13:15:59 GMT-0800 (PST)
!stab
21:16
!heh
!soop
Will people stop stabbing me please?
!delete_self
It's very rude.
21:16
<The Tin Soldier> @Calvin'sHobbies Sat Nov 14 2015 13:16:20 GMT-0800 (PST)
!delete_self
<The Tin Soldier> *TanMath poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, TanMath ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!delete_self
<The Tin Soldier> *Hipe99 poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, Hipe99 ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
@Thatha yay! i killed him!
21:16
does it stack?
!status
<The Tin Soldier> I am poisoned by TanMath and Hipe99 and have 2 minutes left to live.
!status
Yes it does.
You can thank Conor for that.
!delete_self
<The Tin Soldier> *Hipe99 poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, Hipe99 ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
21:17
I think delete_self is very out of character for a bot with a god-complex, but eh
!delete_self
<The Tin Soldier> *TanMath poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, TanMath ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!status
<The Tin Soldier> I am poisoned by TanMath and Hipe99 and Hipe99 and TanMath and have 0 minutes left to live.
!delete_self
21:18
<The Tin Soldier> *quartata poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, quartata ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
@quartata he is gone...
Oh it is posting too fast.
It had an SE delay thing.
See that's why I don't like all you people stabbing him.
<The Tin Soldier> You killed me, TanMath . Now, I die.
...
!status
@Thatha For the first time in history, a master kills an apprentice...
21:19
...just kidding maggots hahahahahaha
<The Tin Soldier> Bot initiated. Type !help for help.
@quartata he is dead!
@TanMath He undied.
@Thatha !delete_self
!delete_self
<The Tin Soldier> *TanMath poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, TanMath ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
He actually will ignore replies.
21:20
@quartata where is the code for this? what language is it written?
!delete_self
<The Tin Soldier> *TanMath poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, TanMath ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!status
<The Tin Soldier> I am poisoned by TanMath and TanMath and have 2 minutes left to live.
why does it say TanMath and TanMath.. I am only one person!
@quartata the code isn't what this robot does!
21:22
@TanMath Yes it is.
!delete_self
@Thatha then who is empty child!
@TanMath That's an unrelated bot.
The code you are looking for is bot.js
!help
@Thatha ok.. Found it..
21:23
<The Tin Soldier> Bot initiated. Type !help for help.
!delete_self
@quartata you are logged into both account?
@TanMath yes
!delete_self
<The Tin Soldier> *quartata poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, quartata ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!cure
!status
21:24
<The Tin Soldier> I am poisoned by quartata and have 5 minutes left to live.
What?
!cure
!status
<The Tin Soldier> I am healthy and have Infinity minutes left to live.
Much better.
<The Tin Soldier> @Calvin'sHobbies AlexA.
21:24
!Alex
!Sock
!Alex A.
!AlexA.
!time
<The Tin Soldier> @Calvin'sHobbies Sat Nov 14 2015 13:25:21 GMT-0800 (PST)
<The Tin Soldier> Bot initiated. Type !help for help.
!Calvin
!help
<The Tin Soldier> @Calvin'sHobbies Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; cure; ಠ_ಠ; delete_self
No docs yet.
<The Tin Soldier> @Calvin'sHobbies !say
21:25
@Calvin'sHobbies can you help me test something?
!say cheese
<The Tin Soldier> @Calvin'sHobbies cheese
!say @quartata ok
<The Tin Soldier> @Calvin'sHobbies @quartata ok
!delete_self
21:26
<The Tin Soldier> *quartata poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, quartata ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!stab !stab
Type !cure please.
!status
<The Tin Soldier> I am poisoned by quartata and have 5 minutes left to live.
21:26
!cure
!cure
!status
Why are my new posts getting deleted or something?
@quartata it is slow sometimes...
21:27
@TanMath No it isn't that you borked it
!status
<The Tin Soldier> I am poisoned by quartata and have 4 minutes left to live.
Alright...
!cure
!status
21:28
<The Tin Soldier> I am poisoned by quartata and have 4 minutes left to live.
@quartata really? then it is dumb..
!cure
I was trying to make it so that only I could cure it, but I think I borked it
It doesn't handle high loads particularly well
!status
<The Tin Soldier> I am poisoned by quartata and have 3 minutes left to live.
!cure
!status
21:28
<The Tin Soldier> I am poisoned by quartata and have 3 minutes left to live.
<The Tin Soldier> @Calvin'sHobbies Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; cure; ಠ_ಠ; delete_self
No docs yet.
<The Tin Soldier> Bot initiated. Type !help for help.
weird...cure doesn't work...
21:29
Ah got it working I think
!eval 5 * 9
<The Tin Soldier> @Calvin'sHobbies 5 * 9 => 45
@TanMath It isn't supposed to.
!eval 2^7897877
Only I can cure it.
21:29
@quartata how come?
@quartata why not others?
@TanMath Because I'm trying to test "admin" features
<The Tin Soldier> @Calvin'sHobbies 2^4 => 16
21:30
@quartata what other admin features do you have?
None currently.
But they are something I'm going to add.
!scope what does scope do?
Scope does nothing. It was for debugging.
<The Tin Soldier> @Calvin'sHobbies Commands: say; time; eval; scope; alex; help; status; stab; doorknob; punishment; cure; ಠ_ಠ; delete_self
No docs yet.
21:31
!doorknob
<The Tin Soldier> 'OH GODS NO!! You can't leave us here with Doorknob! It'll be nethack everywhere!' -Geobits
!doorknob
!delete_self
Wow people really just can't resist the urge to not fiddle with it
<The Tin Soldier> *Calvin'sHobbies poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, Calvin'sHobbies ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
21:31
@TanMath cooldown
@quartata i am testing it..
!eval "a" + 5
<The Tin Soldier> @Calvin'sHobbies TypeError: Unexpected type of argument in function add (expected: Array or Matrix, actual: BigNumber, index: 1)
!doorknob
<The Tin Soldier> 'OH GODS NO!! You can't leave us here with Doorknob! It'll be nethack everywhere!' -Geobits
21:32
What language is it evaling in @qua
@Calvin'sHobbies It's MathJS
Special library
!delete_self
<The Tin Soldier> *quartata poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, quartata ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
@quartata why do you keep blocking the messages!
@TanMath I don't...?
!delete_self
21:33
!eval "strung"
<The Tin Soldier> @Calvin'sHobbies sin(89) => 0.86006940581245322683684618102364927045622251077335794273099613
@quartata then who does?
@TanMath It has a cooldown, you know.
Alright, can someone try and !cure him?
!cure
!status
!eval "string"
21:34
!status
<The Tin Soldier> I am poisoned by quartata and have 4 minutes left to live.
!cure
!status
!status
<The Tin Soldier> I am poisoned by quartata and have 4 minutes left to live.
!say dos attack
21:34
<The Tin Soldier> @Calvin'sHobbies dos attack
@quartata doesn't work, huh?
@TanMath hm
!say dos attack 2
<The Tin Soldier> @Calvin'sHobbies dos attack 2
Yeah guess not.
21:35
!say dos attack 3
<The Tin Soldier> @Calvin'sHobbies dos attack 3
Needs a !ping command
By the way, it doesn't handle multiple messages at once very good. It's really designed to handle only one command at a time.
!ping Phi toasht
You might notice some "conflicts" where it only evaluates one person's command
21:35
Does is not keep a queue of all incoming messages?
!baddesign
@Calvin'sHobbies It does but it only holds 3 at a time
And it's JS + DOM so it is a bit wonky sometimes
so if @Calvin'sHobbies and I send doorknob at the same time, then it will know and send teo doorknob messages?
It shouldn't since it is supposed to have a 10 second cooldown
But it'll probably work because it's kinda... strange
Here lemme get you an explanation
<The Tin Soldier> You killed me, quartata . Now, I die.
Nov 4 at 2:36, by quartata
So if a message hits the rate limit it will post a reply to it after the rate limit if nothing else is posted afterwards
21:39
goodbye!
Pinned so that people won't ask again
<The Tin Soldier> You killed me, quartata . Now, I die.
can you demonstrate?
Sure.
Don't say anything.
@quartata also why does it keep saying it died?
21:40
@TanMath Because the bot turns off after being poisoned
<The Tin Soldier> Bot initiated. Type !help for help.
OK.
!time
<The Tin Soldier> @quartata Sat Nov 14 2015 13:41:16 GMT-0800 (PST)
Dammit, I can't do it because I'm on SE cooldown.
@quartata You need to have a 20 second posting cooldown to make sure all messages can get through (meta.stackexchange.com/a/164900/266052)
@Calvin'sHobbies 20 seconds? All right, I can do that.
Give me a couple minutes so me and the bot can cooldown.
21:42
That's what I had to do to make sure chat relay never skipped messages
@quartata how about we can both send a message at almost the same time?
@Calvin'sHobbies Interesting.
@TanMath It won't work because the bot is on SE cooldown (so it has to wait before posting).
Though you could send them faster if there aren't as many at a time. But for chat relay I don't really care if it's 20 sec late.
<The Tin Soldier> Bot initiated. Type !help for help.
!cure
21:47
!help!
!help
Please leave it alone for a second. I'm testing something.
It does look like the timeout worked, since it didn't reply to Calvin's help.
You can make yourself a restricted room (unless theres a rep req)
@Calvin'sHobbies I don't want it to be restricted, since I want people to come and help me test it. I just need a bit of quiet for a second
<The Tin Soldier> Bot initiated. Type !help for help.
!status
21:49
<The Tin Soldier> I am healthy and have Infinity minutes left to live.
!help
\o/
!delete_self
<The Tin Soldier> *quartata poisons The Tin Soldier*
<The Tin Soldier> No! W–Why would you do that, quartata ?! I'm dying now. Slowly and inexorably. (Type `!status` to see how I am doing i.e. how much time I have left.)
!cure
!status
<The Tin Soldier> I am healthy and have Infinity minutes left to live.
There we go.
I think I'll make it so that "trusted users" can ignore the timeout though. It's pretty damn long...
21:53
Is there a bot creation tutorial?
Depends.
What kind of bot are you trying to make?
I really don't know yet.
This bot is written in JS and it was all originally written by Conor.
If I re-wrote this I'd use Doorknob's excellent SEChatty which does most of the heavy lifting for you.
I think there are a few things to consider while making any bot:
@quartata Is there a java version of that?
1. Always test any change rigorously, since bots can do a lot of nasty things if they don't work
2. Make sure you have some sort of anti-spam mechanism (people don't like crazy spam bots)
3. Be mindful of security holes if it runs on your computer
@SuperJedi224 It's written in Ruby.
21:57
Yes, I know. I was asking if there's a java port available.
You can use JRuby if you want though.
@SuperJedi224 I doubt it. Doorknob made it just for fun.
My first chatbot 0
@Calvin'sHobbies ?
My first chatbot 1
My first chatbot 2
What
22:02
what?
@SuperJedi224 Very simple pure js chatbot:
javascript:i=0;f=function(){document.getElementById('input').value='My first chatbot '+(++i);document.getElementById('sayit-button').click()};setInterval(f,20000);f(‌​);
5
@Calvin'sHobbies why are you posting rubbish?
Ah, cool.
oh...
I personally wouldn't recommend writing a chatbot in JS unless you like JS (which Conor does)
22:02
^ paste that into your browser's search bar (you may need to type the javascript:)
My first chatbot 1
My first chatbot 2
My first chatbot 3
My first chatbot 4
My first chatbot 5
My first chatbot 6
spam!
My first chatbot 7
It pasted funny for me so here's the raw text if anyone wants - pastebin.com/raw.php?i=EvQWAgHL
My first chatbot 8
Time=1447539459080
Time=1447539479091
Well, we have a simple JS one up at least
Time=1447539499098
Time=1447539519450
Time=1447539539453
Time=1447539559457
Time=1447539580452
Time=1447539600453
Better refresh the page to kill it.
And... done.
22:36
"document.getElementsByClassName is not a function"?
Guys, seriously, why am I getting an error claiming that something which quite obviously is a function (the console has confirmed this) is not a function?
Whats the exact error?
Uncaught TypeError: document.getElementsByClassName is not a function
Whats your code
22:53
!time
UTC Time:1447541611580
Well, I got it working.
!time
UTC Time:1447541705750
But it's still just a kind of silly javascript bot
Also a bit hackish
21:00 - 23:0023:00 - 00:00

« first day (28 days earlier)      last day (3047 days later) »