« first day (217 days earlier)      last day (266 days later) » 
08:00 - 16:0016:00 - 20:00

8:05 AM
@ArtOfCode are you pingable here?
 
8:44 AM
@overactor Apparently so. What can I do you for?
 
@ArtOfCode The twitter account thing got me thinking. Do you think we could combine a twitter bot with a chatbot and thus allow a golden middle way between an automated twitter account and a curated one?
 
@overactor Almost certainly we could. We could do it off SEC too, I dare say.
 
@ArtOfCode That's what I was thinking
 
Twitter module, add a backend Twitter and stack API script, we're golden.
 
I imagine that instead of immediately tweeting, it would post in chat when it decides a question is worth tweeting and then would need confirmation to acually tweet it
allow user suggested tweets as well
scheduled tweets too of course
@ArtOfCode Didn't someone look at creating a twitter module once?
 
8:49 AM
Aye. Our group of account managers can have shared direct access to tweet whatever, the chatbot can take in question suggestions.
@overactor Probably, but I can't remember who, when, or the outcome.
 
Each scheduled tweet can be addressed with some sort of id
Is the SE provided Twitter bot open source?
 
I doubt it.
@overactor Reply to the suggestion with the id and stick it in a queue.
 
evaluating which questions are worth tweeting about probably isn't too difficult.
 
votes, views, close votes
 
Do you think we should get to work on this or check first if there is any interest in this?
 
9:04 AM
I've got a lot of free time today, I'll see if I can throw a proof of concept together.
 
And perhaps if SE would support it?
overkill?
 
@overactor I imagine it would be pretty useful, and it would allow wider participation on what gets tweeted.
 
I'd also love to see SEC get more widespread :)
 
@overactor Probably. We only need access to tweeting, not much else.
Then again, we could provide access to everything.
 
@ArtOfCode similar question for the SE api, do we use a wrapper or not?
@ArtOfCode would probably become cumbersome though
I'd imagine the curators still also have direct access to the twitter account
 
9:08 AM
@overactor Of course, yeah.
 
404
@ArtOfCode convenient
 
And lightweight. We could sub module it.
 
@ArtOfCode What do api calls look like with your wrapper?
star unstar star unstar ...
are you on mobile?
 
@overactor Mistap, yeah. I can't remember, as it happens. Lemme investigate.
 
Not really a full wrapper but rather convenience methods to work with the SE API it seems.
Could definitely be what we need
 
9:18 AM
@overactor oh awesome, I wrote docs for it. github.com/ArtOfCode-/APiPy/blob/master/docs/requester.py.md
@overactor Essentially, yeah.
 
We'll likely only use a fraction of the api anyway
 
Tiny bits of it, yeah. Maybe look at user reputations?
 
@ArtOfCode I feel like it'd be best to stick to the question
 
Make it a privilege you get at what, 750 rep?
 
but perhaps
Ah you mean suggesting things?
 
9:21 AM
yeah
and rejecting them, though that should be higher
 
I'd say curators are not based on rep but rather set explicitly
ability to suggest questions could have a rep limit
maybe the rep limit is configurable?
 
Aye, make it a bit setting.
bot
 
I must say, I've become a bit concerned about the breadth of modules in the builtins
well, concerned is a big word
 
Shrug. It's good to have a wide feature base, I think.
 
@ArtOfCode I agree, but some splitting up seems in order
 
9:29 AM
We can do that as we do the Twitter bit :)
 
Maybe it's overkill but I'd like to see:
Essential modules
Fun modules
and then
SE Chatbot Bare
(no modules)
 
That's basically the message sending code and not much else...
 
SE Chatbot (only essentials) (as a fork)
SE Chatbot extended (all modules) (as a fork)
 
Or use branches
 
@ArtOfCode I just realised branches might be better too :)
The Bare version could serve as a base in case someone would like to write some alternative essential modules
I do wonder if we're not perhaps abusing git submodules
 
9:34 AM
true that. I think we should maintain the full feature set as the main branch, though.
 
@ArtOfCode That's up for debate in my view
Is xkcd and flipping part of the main feature set?
 
that could be in the fun feature branch
 
what about translate and define, fun features or essential?
I'd vote fun
 
Personally, I'd keep everything we've got together as a whole package on the main branch, and link to the other branches for people who want different feature sets.
 
Should we make a room somewhere for this discussion?
And invite ProgramFOX?
 
9:38 AM
Use chatbot dev
For anyone interested, that's here: chat.stackexchange.com/rooms/25323/chatbot-dev
 
@ArtOfCode do you have the ability to move stuff from the worldbuilding chat to here?
 
@overactor I do, but not on mobile. I'll be on a computer in about 20 minutes, though.
 
@ArtOfCode Okay cool
paging @ProgramFOX
 
10:02 AM
85 messages moved from Worldbuilders' General Chat
 
cool
 
That's a pretty useful ability.
 
It really is
 
There's also a trashcan room, which we can move to to prevent long strings of (removed).
Great fun.
 
sort of like /dev/null ?
 
10:09 AM
Pretty much
 
 
1 hour later…
user153821
11:32 AM
Bot started.
 
Well hey, I managed to get that much working.
$>module disable
 
user153821
@ArtOfCode Not enough arguments.
 
$>module help
 
user153821
Contains controls for modules.
`module enable <name>` - enables a module
`module disable <name>` - disables a module
 
$>module disable xkcd
 
user153821
11:37 AM
@ArtOfCode Module disabled.
 
$>module disable fun
 
user153821
@ArtOfCode Module disabled.
 
$> xkcd 1
 
user153821
@overactor Command not found.
 
$>module disable translate
 
user153821
11:38 AM
@ArtOfCode Module disabled.
 
$>module disable upsidedown
 
user153821
@ArtOfCode No such module, or it (or its container) has already been disabled.
 
Did we ever build in a method to disable modules?
 
upsidedown is not a module, just a helper file
 
aha, we did
 
11:39 AM
@ArtOfCode wait, what do you mean by that?
 
@overactor I was looking for a method I can call from code, rather than having to execute commands to disable a module.
 
@ArtOfCode aha
 
I assume we don't want the 'fun' modules active in the twitterbot, so disable them on startup
They'll get added to the bot automatically because they're in the builtins, but we can disable them.
 
@ArtOfCode unless we make them not builtins anymore of course
 
@overactor Well yeah - but for now, I'm just using what we made.
If we can do it so that we can pick the builtins package we want, excellent.
 
11:42 AM
it does indeed work this way though
$>utc
 
user153821
@overactor Tue Feb 2 11:42:23 2016
 
What module's that in? Utils, isn't it?
 
uhu
i think we can leave that in
$>listcommands
 
user153821
Commands:
alive, utc, listcommands, help, cat, read, getcurrentusers, ping, random, randomint, randomchoice, shuffle, stop, disable, enable, ban, unban, delete, module, define
 
$>help define
 
11:45 AM
I'm disabling a few more, too.
 
user153821
@overactor Looks up a word in the Merriam-Webster dictionary API.
 
like define and random
$>define word
we have no key
 
user153821
@ArtOfCode No API key found. Contact the bot owner.
 
I'd have said the same
 
$>module disable define
 
user153821
11:45 AM
@ArtOfCode Module disabled.
 
$>module disable random_
 
user153821
@ArtOfCode No such module, or it (or its container) has already been disabled.
 
$>module disable random
 
user153821
@ArtOfCode Module disabled.
 
$>listcommands
 
user153821
11:46 AM
@overactor Command not found. Did you mean: listcommands?
 
user153821
Commands:
alive, utc, listcommands, help, cat, read, getcurrentusers, ping, stop, disable, enable, ban, unban, delete, module
 
did you mean is awesome :)
$>help ping
 
user153821
@overactor Pings a list of users for you. Syntax: $>ping user [...]
 
Is there a command that tells us what module a command is in?
 
$>ping Art
 
user153821
11:47 AM
@overactor @Art
 
yep
 
there is?
 
as in, yes that pinged me
I'm looking for the command
 
$>cat {{ping Art}} does this work?
 
user153821
@overactor @Art does this work?
 
11:48 AM
@KarmaBot yep
 
I don't remember anything like that...
 
we made a good bot
 
that we did
 
OK, I've set up onload module disables. Restarting...
$>restart
 
user153821
@ArtOfCode Command not found. Did you mean: read?
 
11:49 AM
was that a thing?
nope :)
$>stop
 
user153821
@ArtOfCode Bot terminated.
 
rolls eyes I forgot how to form modules
 
user153821
Bot started.
 
@KarmaBot Bot crashed, you mean, because I can't Python.
 
11:52 AM
to Python or not to Python
 
user153821
Bot started.
 
@KarmaBot Crashed.
 
What changes did you make?
 
@overactor How do you iterate a dictionary again? It's not for k, v in dict.iteritems(), because iteritems() doesn't exist apparently.
 
user153821
Bot started.
 
11:53 AM
...nor is it iter().
 
does for k, v in dict not work?
Do you have itertools imported?
 
user153821
Bot started.
 
Hey, got it. dict.items()
$>xkcd
 
user153821
@ArtOfCode Command not found.
 
Success! OK, so modules get disabled on load. That's cool.
 
user153821
11:56 AM
Bot terminated.
 
cool indeed
 
What's your username on GH? I'll give you collaborator access
 
same as here
overactor
 
ding ding ding
 
12:02 PM
I need to get git on the computer
 
What else do we need to do for this bot?
Add the other stuff, clearly. Lemme see if I can get apipy in
 
Should we maybe move the module that does the actual twittering to its own repo?
 
@overactor shrug. More repos and submodules. I'd be inclined to leave it all in one, to be honest.
 
It does allow people to add the twitter module to other SE Bots without too much hassle
 
@overactor True, but then again they can also just copy the dir. I'm putting everything about the twittering in its own directory.
 
12:07 PM
either way works I suppose
 
Okay, apipy's in
 
12:22 PM
The Twitter API will be slightly more challenging. There's OAuth to get round, which I can't say I've used before.
 
@ArtOfCode do we absolutely need it?
 
@overactor If we're posting tweets from the bot, then yes.
 
s
@ArtOfCode then we'll have to I suppose :)
 
Aye. They do have reasonable docs, and I suppose we could always outsource...
Okay, we should outsource.
These guys have done it all for us.
 
Bot started.
 
12:29 PM
>>hi
 
Oh cool
 
heh, what's your prefix?
 
@>
 
@>hi
 
@ArtOfCode Command not found.
 
12:29 PM
Ugh, submodules. It'll be worth it, I suppose.
 
@ArtOfCode For twitter api, I'd bet on that
I'm overactor_bot, overactor's chatbot. You can find the source code on GitHub. You can get a list of all commands by running @>listcommands, or you can run @>help command to learn more about a specific command.
Bot terminated.
 
Okay, now we hit the hard part. Naming. What do we call this bot, for the purposes of the Twitter application?
It'll be shown on tweets as 'via X', so we've gotta have something decent.
 
@ArtOfCode You're getting the app key from twitter?
 
I'm playing with some combination of "twitter", "tweet", "world", "building", "bot.
@overactor Yeah
 
Will this not be different for every instance of the bot?
ah, for the worldbuilding one
 
12:35 PM
Oh, yeah. That's what I'm working on at the moment.
 
mercury bot?
too tacky?
 
Planet names, could work
Oh yeah, 32 chars max.
 
mercury is also the messenger of the gods :)
 
I'm tempted to use the chemical symbol... HgBot
 
Cryptic, I like it
 
12:39 PM
Let's go with that. We can always change it later. Maybe. I think.
 
it's not like it'll be impossible to switch along the line
We can always make it a new app
 
True that
Oooh, we can design a logo
 
Hg hydrargyrum water silver
On it
I love dabbling with design
png?
what dimensions?
 
700k, JPG, GIF or PNG. Square.
 
How large will it typically be displayed?
 
12:44 PM
The placeholder is 73px square, but I don't know what the typical is. Design it at 256 or more, if you can.
 
alpha channel desired I suppose
 
Preferable. So PNG.
 
12:56 PM
logo designing is hard >_<
too bad we don't have a site logo yet.
 
Yep :)
I might have a dabble later on. If we both end up with something half-good, we can merge the ideas and create a good logo.
That's how it works right?
 
@ArtOfCode yeah, we just take the left half of yours and the right half of mine
blur the middle
 
Works for me :)
 
boom
@ArtOfCode I feel it reads quite nicely at various sizes
 
2:08 PM
Ooh fancy
 
right?
 
I like it
 
it somehow reminds me the gauloise cigarettes
probably the wings
 
That makes sense
gauloise is in reference to gauls I bet
 
gaulois is the French name of the Gauls, yes
and adding e, is to make it female
 
2:13 PM
Gauls wore winged helmets and winged helmets are often associated with Mercury
 
Icon added.
 
@bilbo_pingouin I figured as much
cool
@ArtOfCode can we see it on a page somewhere?
something public
 
@ArtOfCode nop, but I can see that it's for HgBot
 
Error
Not authorized to use this endpoint.
 
2:16 PM
Access denied
You are not authorized to access this page.
no biggie
so @ArtOfCode, what's next?
 
Can't find anything obviously public.
Next? Um. Not sure. I'm back on mobile now, so I don't have access to all the stuff so easily.
Next is probably to start writing the code to do all the things it needs to do. I've got both libraries into it, so now we need to write our own bits.
 
We could start by making a simple tweet command I suppose
 
Maybe we start by trying to make OAuth work?
 
That's a good idea :)
could we divide things up?
 
We need a tweet method, not so much a command. People shouldn't be able to tweet from chat directly.
 
2:21 PM
@ArtOfCode I did mean more for testing purposes
 
@overactor Aye. OAuth probably needs to be done by one person so they know what's going on with it. So what else can we do at the same time?
 
I could make a "schedule tweet" command
 
@overactor Aye, sense made
@overactor Sure, try that.
 
What would be the syntax?
tweet <datetime> <tweet>?
 
sounds about right
 
2:30 PM
I created twitter.py and pushed
 
3:00 PM
Bot started.
Schedules a tweet. Syntax: @>tweet <delay> (in minutes) <tweet>
 
@>tweet 1 hi
 
crashed :)
 
Excellent.
 
Bot started.
Schedules a tweet. Syntax: @>tweet <delay> (in minutes) <tweet>
 
@>alive
 
3:09 PM
@ArtOfCode Yes, I'm alive.
 
@>tweet 1 hi
@>alive
 
crashed :)
 
Crash :)
 
Bot started.
nop
Bot started.
scheduled tweet: /nHello, Twitter! /ntime: 2016-02-02 16:22:51.782001 /nid: E9O4LT
need to work on those newlines :)
looks good otherwise
Bot terminated.
Bot started.
@Art Schedules a tweet. Syntax: @>tweet <delay> (in minutes) <tweet>
I like nesting commands :)
 
3:26 PM
@ArtOfCode This makes me happy
btw, could you try scheduling a tweet?
scheduled tweet:
I am tweeting this tweet in 10 mionutes!!
time: 2016-02-02 16:44:36.966574
id: HH25I6
mionutes '^_^
 
3:58 PM
Bot terminated.
 
Excellent
 
08:00 - 16:0016:00 - 20:00

« first day (217 days earlier)      last day (266 days later) »