04-20-2020, 08:41 AM | #11 | ||
Doctor of GURPS Ballistics
Join Date: Sep 2004
Location: Lakeville, MN
|
Re: FnordCon 2
Quote:
Quote:
__________________
My blog:Gaming Ballistic, LLC My Store: Gaming Ballistic on Shopify My Patreon: Gaming Ballistic on Patreon Last edited by DouglasCole; 04-20-2020 at 03:40 PM. |
||
04-20-2020, 03:28 PM | #12 |
Join Date: Jul 2014
Location: New Zealand.
|
Re: FnordCon 2
Permission was sought for one section at least, Steve Jackson was asked to tell a specific GM to get back to GMing.
I attended about 1/2 of the con and enjoyed it immensely.
__________________
Waiting for inspiration to strike...... And spending too much time thinking about farming for RPGs Contributor to Citadel at Nordvörn |
04-20-2020, 06:39 PM | #13 | |
Munchkin Line Editor
Join Date: Aug 2004
Location: Austin, TX
|
Re: FnordCon 2
Quote:
We are discussing the recording situation. Until there's an announcement, please keep any recordings you may have made private.
__________________
Andrew Hackard, Munchkin Line Editor If you have a question that isn't getting answered, we have a thread for that. Let people like what they like. Don't be a gamer hater. #PlayMunchkin on social media: Twitter || Facebook || Instagram || YouTube Follow us on Kickstarter: Steve Jackson Games and Warehouse 23 |
|
04-20-2020, 10:33 PM | #14 | ||
Join Date: Feb 2009
Location: Central Texas, north of Austin
|
Re: FnordCon 2
Quote:
My question: There has been some confusion on the forums regarding changing your option. There are options for engaged figures and options for disengaged figures. Must you commit to one of those categories when your turn to move comes, or can you wait until your action to see if you are engaged at that point or not? The consensus answer including Steve Jackson's opinion (my paraphrase): You really can wait to make changes at anytime so long as you didn't already do something that would invalidate the consistency of your final action or option. Steve had really thought that he had but that issue to rest already. Now, I had already suspected this to be the case mainly from some people on the forums (especially Skarg). However, when I read your article from Hexagram 3, it put some doubt back into my mind. Here is a quote from your article: Quote:
By the way, thanks for contributing your article to the zine. ~~~ There were several other TFT questions about upcoming products and plans but most of that can already be gleaned from The Fantasy Trip News. Last edited by Tom H.; 04-20-2020 at 10:37 PM. Reason: Punctuation |
||
05-05-2020, 02:49 PM | #15 |
Administrator
Join Date: Aug 2006
Location: The Central Network
|
Re: FnordCon 2
If you attended the Virtual FnordCon, you probably dealt with, or at least saw, the PanelMod bot that I wrote to help manage questions. Some of you asked if I could post the code for this. I may throw up a github link later, once the many non-working commented-out bits are removed or implemented, but I can post the main script itself in text here for now. Keep in mind that there are better ways to do some of this, and if you're going to try to duplicate this in the wild, you should definitely sanitize your inputs. This is just what I could get running in a short time while learning the language. No warranties given, etc, etc.
There are steps involved of setting up a Discord bot and Node.js development that are readily found via your favorite search engine. Do those first. There is also a config file referenced here that you don't upload to your code repository, because it has your identifying key for the Discord Bot integration. That file also has a string that you can set to be the prefix the bot looks for to know it should read the line as a command. For us, it was set to 'qq', so the commands were qqask and qqanswer, etc. config.json Code:
{ "prefix": "qq", "token": "---REMOVED---" } Code:
// SETUP // // require the filesystem module from Node const fs = require('fs'); // require the discord.js module const Discord = require('discord.js'); // get config options from config.js - Don't put the config file in repos! const {prefix, token} = require('./config.json'); // create a new Discord client const client = new Discord.Client(); // create Maps for the question queues const queue = new Array(); //const approved = new MAP(); var activeChannel = ''; // when the client is ready, run this code // this event will only trigger one time after logging in client.once('ready', () => { console.log('Ready!'); }); // dynamic command loader client.on('message', message => { if (!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const commandName = args.shift().toLowerCase(); if (commandName === 'ping') { //Test command message.channel.send('Pong.'); } else if (commandName === 'ask') { // ADD QUESTION TO QUEUE if (!(activeChannel)) { //Don't queue questions when a panel hasnt been started message.author.send('There is not currently a panel running to ask questions for.'); return; } else if (message.channel.type !== 'dm') { //Only accept questions when DMed message.author.send('You need to ask questions in private message. Try again here. It\'s qqask *your question*'); return; } const asktext = args.join(' '); const question = `<@${message.author.id}> asks: **${asktext}**`; queue.push(question); message.author.send('Question queued. Moderators will send it to the channel when they are ready.'); } else if (commandName ==='answer') { // PRINT QUESTION TO CHANNEL -- Moderator Only if (!(message.member.roles.cache.some(r=>["VIP", "Speakers", "Convention Staff", "Coding"].includes(r.name)))) {return "Not a moderator"}; if ((activeChannel) && (message.channel !== activeChannel)) { //Only answer in active channel message.channel.send(`I am still running a question queue in ${activeChannel.name}.`); return; } var answ = queue.shift(); if (!answ) {answ = '**No questions queued.**'}; activeChannel.send(`${answ}`); } else if (commandName ==='start') { // START PANEL -- Moderator Only if (!(message.member.roles.cache.some(r=>["VIP", "Speakers", "Convention Staff", "Coding"].includes(r.name)))) {return "Not a moderator"}; if ((activeChannel) && (message.channel !== activeChannel)) { //Don't start a queue if already active message.channel.send(`I am still running a question queue in ${activeChannel.name}.`); return; } activeChannel = message.channel; console.log(`${message.author.username} is starting a panel in ${activeChannel.name}`); activeChannel.send(`Active Channel being set to ${activeChannel}`); qcounter = setInterval(() => { activeChannel.send(`There are ${queue.length} questions in the queue.`); },5*60*1000); activeChannel.send(`If you would like to ask a question in the panel, please send a direct message to <@${client.user.id}> that starts with: "qqask " (without the quotes). It will queue your question.`); } else if (commandName ==='stop') { // STOP PANEL -- Moderator Only if (!(message.member.roles.cache.some(r=>["VIP", "Speakers", "Convention Staff", "Coding"].includes(r.name)))) {return "Not a moderator"}; if ((activeChannel) && (message.channel !== activeChannel)) { //Dont allow stop from a non-active channel message.channel.send(`I am still running a question queue in ${activeChannel.name}.`); return; } console.log(`${message.author.username} is ending the panel in ${activeChannel.name}`); activeChannel.send(`Ending panel. The queue is being emptied of questions.`); queue.length = 0; clearInterval(qcounter); activeChannel = null; }; }); // Log API errors / unhandled rejections process.on('unhandledRejection', error => { console.error('Unhandled promise rejection:', error); }); // login to Discord with your app's token client.login(token); |
08-18-2020, 06:39 PM | #16 |
Munchkin Line Editor
Join Date: Aug 2004
Location: Austin, TX
|
Re: FnordCon 2
In case y'all missed the latest announcement, FnordCon 2.3, the hotter, more autumnal digital convention will be held October 10 on Discord, just like the April version . . . but with different guests and maybe new events! Head to the FnordCon web page for more information (when it gets posted, soon I hope -- keep checking!).
__________________
Andrew Hackard, Munchkin Line Editor If you have a question that isn't getting answered, we have a thread for that. Let people like what they like. Don't be a gamer hater. #PlayMunchkin on social media: Twitter || Facebook || Instagram || YouTube Follow us on Kickstarter: Steve Jackson Games and Warehouse 23 |
08-28-2020, 03:24 PM | #17 |
Join Date: Dec 2004
Location: Minneapolis, MN
|
Re: FnordCon 2
Is the discord server only around for FnordCon or is it around for general SJG mayhem?
__________________
Brett Slocum - MIB 666, retired <slocum@weirdrealm.com> http://joyfulsitting.blogspot.com |
08-31-2020, 12:38 PM | #18 |
Administrator
Join Date: Aug 2006
Location: The Central Network
|
Re: FnordCon 2
|
08-31-2020, 12:46 PM | #19 |
Join Date: Dec 2004
Location: Minneapolis, MN
|
Re: FnordCon 2
Okay, thanks.
__________________
Brett Slocum - MIB 666, retired <slocum@weirdrealm.com> http://joyfulsitting.blogspot.com |
Thread Tools | |
Display Modes | |
|
|