#development

1 messages · Page 349 of 1

elfin depot
#

@vital lark so the code is wrong

wise nexus
#

guildCreate is when the bot joins a new server

vital lark
#

@quiet bobcat ```js
const guilds = bot.guilds.map(x => x.name).join('\n');

#

@wise nexus yes I know

quiet bobcat
#

ok

vital lark
#

.send() works with bot.channels.get('id')

wise nexus
#

but it still the same

elfin depot
#
client.on('guildMemberAdd', member => {
  let guild = member.guild;
  client.channels.get('383355658705305620').send(`Please welcome ${member.user.username} to the server!`);
});```
#

thats the coding i have

vital lark
#

It should work

#

what version u using

elfin depot
#

for discord.js?

vital lark
#

11.1 or 11.2

#

Yes

elfin depot
#
{
  "name": "BotTuber",
  "version": "0.0.1",
  "description": "Bot by GurTuber",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "GurTuber",
  "license": "MIT",
  "dependencies": {
    "chalk": "^2.3.0",
    "discord.js": "^10.0.1",
    "return-deep-diff": "^0.2.7"
  }
}
#

here is all the info

vital lark
#

Upgrade your Discord.js

#
"discord.js": "^11.2.1"
#

It's a different version

#

that's why

#

use 11.2.1

wise nexus
#

use the js docs for discord js

elfin depot
#

how do i upgrade it?

wise nexus
#

and the anidiotsguild // cant spell

vital lark
#

@elfin depot ```json
"discord.js": "^11.2.1"

elfin depot
#

k

vital lark
#

edit the package.json

quiet bobcat
#

@vital lark any way to get member count aswell?

elfin depot
#

there i did

#

now what

wise nexus
quiet bobcat
#

It worked btw, thanks

elfin depot
#

should the code work now

vital lark
#
const guild = message.guild;
guild.memberCount;
#

message is your bot.on('message')

elfin depot
#

it should work now @vital lark

vital lark
#

@elfin depot yes

elfin depot
#

k

quiet bobcat
#

ok

earnest phoenix
#

hey

wise nexus
#
client.on("guildMemberAdd", (member) => {
  const guild = member.guild;
  newUsers.set(member.id, member.user);

  if (newUsers.size > 10) {
    const defaultChannel = guild.channels.find(c=> c.permissionsFor(guild.me).has("SEND_MESSAGES"));
    const userlist = newUsers.map(u => u.toString()).join(" ");
    defaultChannel.send("Welcome our new users!\n" + userlist);
    newUsers.clear();
  }
});```
vital lark
#

ReferenceError: newUsers isn't defined

elfin depot
vital lark
#

let me see your code

wise nexus
#

thats from the guide

vital lark
#

JUST DONT DO IT

#

USE ANOTHER BOT

elfin depot
#
client.on('guildMemberAdd', member => {
  let guild = member.guild;
  client.channels.get('383355658705305620').send(`Please welcome ${member.user.username} to the server!`);
});

client.on('guildMemberRemove', member => {
  let guild = member.guild;
   client.channels.get('383355658705305620').send(`Please say goodbye to ${member.user.username} we will miss you!`);
});```
#

there

wise nexus
#

im gonna eat

vital lark
#

use another bot

earnest phoenix
#

i'm making a collab on a new discord.js bot, someone wanna join?

vital lark
#

@earnest phoenix no

quiet bobcat
#

Wait @vital lark how do I make that into the guild list?

vital lark
#

@quiet bobcat Never tried

earnest phoenix
#

ok, you don't

quiet bobcat
#

ok

vital lark
#

I'm gonna do JDA for now on.

elfin depot
#

@vital lark so whats wrong

vital lark
#

Don't know

wise nexus
#

@earnest phoenix no

earnest phoenix
#

ok

lethal hamlet
#

I don't know what to do now..

#

CS1503 Argument 1: cannot convert from 'System.Reflection.Assembly' to 'System.Type' [SHIBE] C:\Users\Void Omni Breaker\source\repos\[SHIBE]\[SHIBE]\Program.cs 49 Active

#

It's for await _commands.AddModuleAsync(Assembly.GetEntryAssembly());

#

and its to process a task but it won't convert and now I am confused

elfin depot
#

my bot is keep spamming commands

#

and help

uncut slate
#
let src = `2 8 8 5 4 2 3 1 5 5 1 2 15 13 5 14`;
let cycles = 0;

const banks = src.split(' ').map(Number);
const passed = [];

while (true) {
  let biggestBank = 0;
  
  for (const bank of banks) {
    if (bank > biggestBank) {
      biggestBank = bank;
    }
  }
  

  let startIndex = banks.indexOf(biggestBank);
  banks[startIndex] = 0;

  startIndex = startIndex + 1;

  
  for (let i = 0; biggestBank > 0; biggestBank--) {
    if (startIndex >= banks.length) {
      startIndex = 0;
    }

    banks[startIndex]++;
    startIndex++;
  }
  

  cycles++;

  let FuckJavaScript;

  for (const arr of passed) {
    if (arr.every((e, i) => e === banks[i])) {
      FuckJavaScript = true;
      break;
    }
  }
  
  if (FuckJavaScript) {
    break;
  } else {
    const copy = [];
    banks.map(r => copy.push(r));
    passed.push(copy);
  }
}

console.log(cycles);
inner jewel
#
        val v = ({
            var streamA: Stream[((Int, Int), (Int, Int), Set[(Int, Int)])] = null
                streamA = ((0, 0), (0, -1), Set((0, 0))) #:: streamA.map(e => {
                val (position, direction, set) = e
                val turn = direction match {
                    case (1, 0) => (0, 1)
                    case (0, 1) => (-1, 0)
                    case (-1, 0) => (0, -1)
                    case (0, -1) => (1, 0)
                }
                if(set.contains((position._1 + turn._1, position._2 + turn._2)))
                    ((position._1 + direction._1, position._2 + direction._2), direction, set + ((position._1 + direction._1, position._2 + direction._2)))
                else
                    ((position._1 + turn._1, position._2 + turn._2), turn, set + ((position._1 + turn._1, position._2 + turn._2)))
            })
            streamA
        })(n-1)._1.productIterator.map(_.asInstanceOf[Int].abs).sum```day 3 part 1
uncut slate
#

wew

inner jewel
#

i one lined af

#

i tried one lining that if

#

but it killed cpu

uncut slate
#

lmfao

#

yeah uh, day 6 took my shit machine like 10 seconds

#

which is a fuck ton

inner jewel
#

day 3 took ~5s here

uncut slate
#

man I didn't even fucking try day 3

inner jewel
#

368078

#

this was my number

uncut slate
#

meh

#

I'm gonna try when I catch up

#

and finish the others

inner jewel
#

i got triggered in day 4

#

because i got 2 wrong results

#

because of newlines

uncut slate
#

f

inner jewel
#

i had a leading and trailing newline

#

which don't have repeated words

uncut slate
#

6 took me the longest so far because JS is a fucking meme /tableflip

inner jewel
#

guess what result was off by 2

#

and then off by 1

uncut slate
#

lmao, rip

inner jewel
#

tbh it's being a good way to learn scala's collection API

#

now to one line day 5

uncut slate
#

I don't understand day 6 part 2 🤔

#

aren't they asking you to literally just re-run it 🤔

inner jewel
#

this one is gonna be hard to one line thonk

#

2 line would be ez

#

but i can't modify the array unless i

uncut slate
#

👀

inner jewel
#

okay i'll do an ugly hack

#

and 99% of the people will kill me

#
Seq(string.split("\n").map(_.toInt)).map(myArrayThatICanAccessNow=>{
    solve it here
})```
#
[getTheArray].map(array=>{
})```
#

^ js equivalent

#

@uncut slate cancercode for one lining

uncut slate
#

hmmmmmmmmmmm

#

I'm not even worrying about good / impressive code tbh

#

just trying to get the solutions in the first place, lul

#

day 6 pt 2 is ez tbh

#

explanation is confusing

inner jewel
#

GG

#
        val v = Seq(string.split("\n").map(_.trim).filter(_ != "").map(_.toInt)).map(array=>{
            var count = 0
            var index = 0
            while(index >= 0 && index < array.length) {
                val off = array(index)
                array(index) += 1
                count += 1
                index += off
            }
            count
        }).head

        println(v)```
#

i

#

fucking

#

did

#

it

#

one lined again

uncut slate
#

hot damn

inner jewel
#
        val v2 = Seq(string.split("\n").map(_.trim).filter(_ != "").map(_.toInt)).map(array=>{
            var count = 0
            var index = 0
            while(index >= 0 && index < array.length) {
                val off = array(index)
                array(index) += (if(off >= 3) -1 else 1)
                count += 1
                index += off
            }
            count
        }).head

        println(v2)```day 5 part 2
vital lark
#
var count = 0

day 6 part 1

tawdry rock
#

Why are you guys doing this day thing

inner jewel
#
        val v = Seq(string.split("\\s").map(_.toInt).toSeq).map(new ArrayBuffer()++_).map(seq=>{
            val set = new mutable.HashSet[Seq[Int]]()
            var count = 0
            while(!set.contains(seq)) {
                var max = seq.max
                val idx = seq.indexOf(max)
                set += seq.clone()
                seq(idx) = 0
                var i = (idx + 1) % seq.size
                while(max > 0) {
                    seq(i) += 1
                    i = (i + 1) % seq.size
                    max -= 1
                }
                count += 1
            }
            count
        }).head```day 6 part 1
#
        val v2 = Seq(string.split("\\s").map(_.toInt).toSeq).map(new ArrayBuffer()++_).map(seq=>{
            val set = new mutable.HashMap[Seq[Int], Int]()
            var count = 0
            while(!set.contains(seq)) {
                var max = seq.max
                val idx = seq.indexOf(max)
                set += seq.clone()->count
                seq(idx) = 0
                var i = (idx + 1) % seq.size
                while(max > 0) {
                    seq(i) += 1
                    i = (i + 1) % seq.size
                    max -= 1
                }
                count += 1
            }
            count - set(seq)
        }).head

        println(v2)```day 6 part 2
stone kiln
#
static void TryCreateTable()
{
    using (SqlConnection con = new SqlConnection(
        ConsoleApplication1.Properties.Settings.Default.masterConnectionString))
    {
        con.Open();
        try
        {
            using (SqlCommand command = new SqlCommand(
                "CREATE TABLE Dogs1 (Weight INT, Name TEXT, Breed TEXT)", con))
            {
                command.ExecuteNonQuery();
            }
        }
        catch
        {
            Console.WriteLine("Table not created.");
        }
    }
}```
hmmmm
#
static void AddDog(int weight, string name, string breed)
{
    using (SqlConnection con = new SqlConnection(
        ConsoleApplication1.Properties.Settings.Default.masterConnectionString))
    {
        con.Open();
        try
        {
            using (SqlCommand command = new SqlCommand(
                "INSERT INTO Dogs1 VALUES(@Weight, @Name, @Breed)", con))
            {
                command.Parameters.Add(new SqlParameter("Weight", weight));
                command.Parameters.Add(new SqlParameter("Name", name));
                command.Parameters.Add(new SqlParameter("Breed", breed));
                command.ExecuteNonQuery();
            }
        }
        catch
        {
            Console.WriteLine("Count not insert.");
        }
    }
}```
#
public class Dog
{
    public int Weight { get; set; }
    public string Name { get; set; }
    public string Breed { get; set; }
    public override string ToString()
    {
        return string.Format("Weight: {0}, Name: {1}, Breed: {2}",
            Weight, Name, Breed);
    }
}```
#

did i do it right?

earnest phoenix
#

hihihihi

#

anyone recommendations

#

for the right side

#

cuz iss dead

stone kiln
#

why not slowly fade it to yellow and have you know who there XD

inner jewel
#

day 7 part 2 can't be one lined

#

f

earnest phoenix
#

its litterally mee6 but patric star

restive silo
#

more cancer and less features loLmm

vital lark
#

^

sinful meadow
#

Succ a ducc

quiet bobcat
#

Why do you want Ken demoted?

sinful meadow
#

He succs

quiet bobcat
#

ok

tawny lava
#

Ken is the best mod fuck off

sinful meadow
#

@low niche in c# how can i send a message to a certain channel?

low niche
#

I don't C#

#

Sorry

sinful meadow
#

Well shit

#

i know computer does

#

but he is afk

low niche
#

Yeah

#

Shit

#

Timo dead too

weak parrot
#

Wew

neat falcon
#

hi how do i make my bot react to a specific message it sends in a channel

sinful meadow
#

message.channel.send("dsadsadsa").then(e => e.react("THEFUCKINGUNICODE"))

#

@neat falcon

#

That is d.js

neat falcon
#

how to add it into my embed?

sinful meadow
#

message.channel.send({embed: dhsajdhksahdsa}).then(e => e.react("THEFUCKINGUNICODE"))

#

message.channel.send({embed: dhsajdhksahdsa}).then(e => e.react("THEFUCKINGUNICODE"))

neat falcon
#

cool and good

#

thanks

sinful meadow
#

@weak parrot

#

Mind helping me?

neat falcon
#

how do i react more than one emoji?

sinful meadow
#

Add more e.reacts() @neat falcon

neat falcon
#

so message.channel.send({embed: dhsajdhksahdsa}).then(e => e.react("THEFUCKINGUNICODE") e.react("owo"))

#

?

sinful meadow
#

No

neat falcon
sinful meadow
#

message.channel.send({embed: dhsajdhksahdsa}).then(e =>{ e.react("THEFUCKINGUNICODE") e.react("THEUNICODEAGAIN") })

neon pasture
weak parrot
#

If it's about the thing you asked before I do know how to only send messages in specific channels I do know how to do that but in the way I do it you have to manually add the server and what's send in the code

sinful meadow
#

No i was going to ask something else lmao

weak parrot
#

Oh okay

#

Then ask away xD

sinful meadow
#

How can the bot

#

find the channel id

#

and send a message xD

#

i can figure out the rest

#

But thats what im needing to figure out

weak parrot
#

Hmm you mean send a message in a channel with a certain ID? I'm pretty sure ik how to get the channel's ID but how to send a message to it

#

¯_(ツ)_/¯

sinful meadow
#

Do you know js?

weak parrot
#

Nope

sinful meadow
#

its kind of like

#

client.channels.get("ID")

weak parrot
#

Well I don't know any exect stuff out of my head so I'll have to start up my server to take a look

sinful meadow
#

Ah

#

@weak parrot

#

Since i got this amazing thing working

weak parrot
#

Wew

sinful meadow
#

its amazing

#

admit it

weak parrot
#

Eh I like the color picker I saw a few days back better xD

#

But it's not bad

tawny lava
#

nothing, in the whole project has that goddamn version

vital lark
#

use 1.8

#

simple

#

@tawny lava @thorny birch in JDA when

tawny lava
#

nothing, in the whole project has that goddamn version

#

everything is set to 1.8

#

also, not any time soon kek

#

I'm still pretty bad at jda

#

and java in general

languid dragon
#

gitGud™

vital lark
#

I'm kinda familiar with the lib and lang

#

it's compiled™

tawny lava
#

we had java in school last year, and this year we're taking the AP exam xdddddddddddddddddd

#

mfw eclipse runs it perfectly fine

#

smfh

weak parrot
#
        [Command("channelid")]
        public async Task ChannelID(ITextChannel channel = null)
        {
            var ch = channel ?? (ITextChannel)Context.Channel;
            if (ch == null)
                return;
            var embed = new EmbedBuilder()
                .WithTitle(ch.Name)
                .WithDescription(ch.Topic?.SanitizeMentions())
                .AddField(fb => fb.WithName(GetText("id")).WithValue(ch.Id.ToString()).WithIsInline(true));

              await Context.Channel.EmbedAsync(embed);
        }

@sinful meadow is how you get the current channel's ID

sinful meadow
#

i can easy get that

tawny lava
#

ok me am smart and found the trash error yes

quiet bobcat
#

I'm trying to send a message with the guild owners name and I use this code message.channel.send(message.guild.owner); but I get this error javascript (node:6164) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): DiscordAPIError: Cannot send an empty message

sinful meadow
#

message.guild.owner.user.username

#

i think

quiet bobcat
#

Ok

#

I'll try

#

Yeah, that was it. Thank you

sinful meadow
#

Np

thorny hinge
#

guild.owner is an object, objects can't be sent

quiet bobcat
#

Ok

uncut slate
#

objects can be sent 🤔

earnest phoenix
#

hi

compact scaffold
#

Is a bot with 10 sec downtime/day eligible for certification?

earnest phoenix
#

@neon pasture website inspired by mee6

#

it says it on the button but i guess the screenshot 2 small

neon pasture
#

It's almost the same boi

earnest phoenix
#

ik

neon pasture
#

you give atleast credits, didn't saw that.

earnest phoenix
#

oh ok lol

#

im probably gonna make credits bigger

quiet bobcat
#

This is the code javascript message.guild.createdAt

neat falcon
vital lark
#

DISCORD IS MY CITY

weak parrot
#

Yes

wise nexus
#

now who can help me get the colums?

sinful meadow
#

@wise nexus is the data encrypted

wise nexus
#

no

sinful meadow
#

You cant log then

#

Thats against the tos

wise nexus
#

fak

#

guess i have to encrypt

#

where in the tos @sinful meadow

sinful meadow
#

1 sec

#

@wise nexus

#

Found it @wise nexus

wise nexus
#

okay, then i shall encrpt all user information

#

thanks @sinful meadow

sinful meadow
#

Np

inner jewel
#

@uncut slate day 10 solved scala val v = Seq(string.split(",").map(_.toInt)).map(array=>{ val list = (0 to 255).toBuffer var pos = 0 var skipSize = 0 array.foreach(length=>{ val v = list ++ list var i = pos v.slice(pos, pos + length).reverseIterator.foreach(element=>{ if(i >= list.size) i = 0 list(i) = element i += 1 }) pos = (pos + length + skipSize) % list.size skipSize += 1 }) (list.head, list(1)) }).head.productIterator.map(_.asInstanceOf[Int]).product

uncut slate
#

day 10 is out??

#

didn't 9 open up like last night

inner jewel
#

i'm going to put in a repo by itself day 10's algorithm

#

for the lulz

#

let's hash all our important stuff with knothash!!!11!1!11

fervent goblet
#

lol

#

day 10 of wot

neon pasture
#

@fervent goblet Advent of Code, you don't know it? Where have you been.

fervent goblet
#

lol

earnest phoenix
#

reee

sinful meadow
#
let g = message.guild.members.random()
g.send("Lol")
quiet bobcat
#

This is the code
message.guild.createdAt

#

I mean the (W. Europe Standard Time)

woven drum
#

just parse it out of the thingy?

inner jewel
neon pasture
#
  sql.run(`DELETE FROM queues WHERE rowid = (SELECT rowid FROM queues WHERE guild = "${msg.channel.guild.id}" LIMIT 1)`);
  sql.get(`SELECT * FROM queues WHERE guild = "${msg.channel.guild.id}" LIMIT 1`).then(endRow => {
    var stream2 = ytdl(endRow.link, { filter: 'audioonly' });
    connection.play(stream2);
  });
});```
I get the error that .link is undefined. But I did define it or not?
#

Never mind, I didn't reloaded my bot. #JeffreyIsNoob.

gaunt dune
#

why is this happening

#

everytime I use ping

#

aaaa

fervent goblet
#

nothing wrong?

gaunt dune
#

But there is 0 ping

#

that is not supposed to happen

#

I don't think it is even possible

quiet bobcat
inner jewel
#

replace it

quiet bobcat
#

How?

#

And with what

inner jewel
#

.replace(/\(.+?\)/g, "")

#

or smth like that

quiet bobcat
#

ok

pearl schooner
#

Can somone help me pls?

mighty barn
#

yes?

pearl schooner
#

Hi

mighty barn
#

Hi.

pearl schooner
#

I want to say i want upload my bot in Github

#

i try that yesterday and i go ddos my wifi was of

#

sry my english is bad hope you still understand me

mighty barn
#

IF I understand you correctly, you want to upload your bot's source code on github?

pearl schooner
#

yes

#

exactly

mighty barn
#

Make a github account, make a new repository, create all the files that are needed (example: index.js) and you're done

pearl schooner
#

i am scared upload this in Github

#

i creat now account and more

#

do you have Teamviewer?

mighty barn
#

nope

pearl schooner
#

I need something here?

mighty barn
#

type in what are you interested in

pearl schooner
#

ok

mighty barn
#

name it whatever you want

#

then create the files

#

btw, what lib and language are you coding this in?

pearl schooner
#

English

#

but i speak German and live in Germany

#

so my english not so good

mighty barn
#

No, the coding language, java/javascript/etc.

pearl schooner
#

js

mighty barn
#

what library? discord.js?

pearl schooner
#

i think ye

mighty barn
#

ok

#

now create the files required for your bot and you're done

pearl schooner
#

Which Discription means that? Bot Discription

mighty barn
#

DON'T forget not to post your token

#

You don't need to put a description for it

pearl schooner
mighty barn
#

You haven't checked on the craete a Readme.md file did you?

pearl schooner
#

yes thats why you need come with Teamviewer

#

i don't understand this ^

mighty barn
#

delete that repository nd make a new one, making sure you checked that

pearl schooner
#

How delete

#

i don't want delete my account

mighty barn
#

delete the repository

#

then scroll down till there is "delete repositroy"

pearl schooner
#

I did new one

mighty barn
#

ok now create the files you have

pearl schooner
mighty barn
#

Now whatever that main file is and the package.json

#

aswell as don't forget to delete your token

pearl schooner
#

i have Sublime 3

mighty barn
#

what ever your coding software is, copy index.js's code and name the github file index.js aswell

#

then paste the code

pearl schooner
#

all

#

?

mighty barn
#

yes

pearl schooner
#

ah ok

mighty barn
#

but remove the bot.login(<yourtoken>); part

#

w8...

#

@pearl schooner delete that last image....

pearl schooner
#

ok

mighty barn
#

It fucking includes your bot token ;p

pearl schooner
#

ye

#

i hope nobody saw it

#

Should i remove const token?

mighty barn
#

yes

pearl schooner
#

Now copy all and paste

mighty barn
#

yes

pearl schooner
#

k

mighty barn
#

aswell as the package.json and other stuff

pearl schooner
mighty barn
#

and name the file index.js

pearl schooner
#

did

#

now

mighty barn
#

commit new file and you're done greate then do the same for package.json

pearl schooner
#

Should i do the same again?

#

but the files name is then package.json?

#

sry if don't understand ;---;

mighty barn
#

You have a package.json file right?

#

if not don't add anything else to it

pearl schooner
#

ehm wait

abstract mango
#

to speed this up, you should use sublime to push all your files in

pearl schooner
#

i have Sublime 3

abstract mango
#

also don't put your token in your main bot file tbh

pearl schooner
#

yes i remove it

abstract mango
#

you could use a text file and .gitignore it

pearl schooner
#

yesterday i put and next 3 mins i got ddos

abstract mango
#

f

mighty barn
#

k tilda, you handel it from here

#

kthnxbai

abstract mango
#

oof

pearl schooner
#

You guys more helpful then other servers

abstract mango
#

yeah we try our best

pearl schooner
#

😉

#

What i need more?

#

I am scared thats why i ask always cuz yesterday wifi ddos i don't wanna get today too

abstract mango
#

add your package.json to it too

#

you shouldn't get ddos'd from that

pearl schooner
#

Package explane?

#

uhm

abstract mango
#

you see in your bot

#

you have dependencies

#

discord.js, etc

#

package.json file manages that all

pearl schooner
abstract mango
#

ye

#

you want to upload the package.json to your repo

pearl schooner
#

should i do that?

#

it's good?

abstract mango
#

yeah

pearl schooner
#

Do you have Teamviewer

#

cuz i am dumb

abstract mango
#

no

#

but I'll make a quick gif for you

pearl schooner
#

Download it

#

Can someone help pls?

#

Quick

wise nexus
#

who can help me with sequelize

tawdry rock
#

What kind of bot does graphic designs and Server designs?

pale light
weak parrot
tawdry rock
#

???

fervent goblet
#

none

#

a bot that does graphics designs? impossible

#

@tawdry rock I can help setup a server though

tawdry rock
#

DM me @fervent goblet

wise nexus
#

lol

fervent goblet
#

Yo I'm using redis for python

#

if I install hiredis will it detect automatically?

pale light
#

l0l

wise nexus
#
if (!msg.guild)
      return msg.say('You must be in a guild to use this command');

    if (!msg.member.voiceChanne) {
      return msg.say('You must be in a voice channel to use this command, silly');
    }
    if (!msg.member.voiceChannel.joinable)
      return msg.say('I cannot join the voice channe you are in because of the permissions settings for me, to have me join please make sure I have the permissions to join :(');

    if(msg.member.voiceChannel){
      msg.member.voiceChannel.join().then(connection => {
        const stream = yt(url, {audioonly: true});

        yt.getInfo(user, function(err, info) {
          let title = info.title;
          msg.say(`I am now playing, ${title}`)
        })
        const dispatcher = connection.playStream(stream);

        dispatcher.on('end', () => {
          msg.member.voiceChannel.leave();
        }).catch(e => {
          console.error(e);
        })
      });
    }``` This keeps spitting out a error ```
});
 ^

SyntaxError: Unexpected token )

``` when its there, wtf
lethal hamlet
#

Omg...

#

Somebody

#

Help... It won't let me run a build without fixing it.

vital lark
#

don't know and don't care

pale light
#

🤔

sinful meadow
#

@weak parrot you should know this

#

but how can i grab or log all the messages into the console on c#?

#

That should be easy

weak parrot
#

You mean like commands that are used?

sinful meadow
#

No

weak parrot
#

Wait which messages?

sinful meadow
#

Like any

#

that someone types in chat

#

for example

#

SHIT

#

and that would log in the console

#

Like all messages

weak parrot
#

Wait why the hell would you want to log all messages into a console?

sinful meadow
#

Making someone that i can read chat

#

and talk through my console

stone kiln
#
await Context.Channel.GetMessagesAsync(cnt).ForEachAsync(dled => msgs.AddRange(dled))```
weak parrot
#

Wew

sinful meadow
#

wait you might know this @stone kiln

#

why doesnt this work

#
    var channelName = Client.GetChannel(385971556393811969);
            channelName.SendMessage();
#

Doesnt work?

stone kiln
#

hmmm

sinful meadow
#

why doesnt that work?

fervent goblet
#

why do u name it channelName

#

and not channel

sinful meadow
#

@fervent goblet listen lmfao

#

im a nub xD

#

i dont code c#

fervent goblet
#

saem

weak parrot
#

You can also check with if for the channel name and then only make it able to send a message in that one channel but idk if that would work with your current method

stone kiln
#
            public async Task Send(string where, [Remainder] string msg = null)
            {
                if (string.IsNullOrWhiteSpace(msg))
                    return;

                var ids = where.Split('|');
                if (ids.Length != 2)
                    return;
                var sid = ulong.Parse(ids[0]);
                var server = _client.Guilds.FirstOrDefault(s => s.Id == sid);

                if (server == null)
                    return;

                if (ids[1].ToUpperInvariant().StartsWith("C:"))
                {
                    var cid = ulong.Parse(ids[1].Substring(2));
                    var ch = server.TextChannels.FirstOrDefault(c => c.Id == cid);
                    if (ch == null)
                    {
                        return;
                    }
                    await ch.SendMessageAsync(msg).ConfigureAwait(false);
                }
                else if (ids[1].ToUpperInvariant().StartsWith("U:"))
                {
                    var uid = ulong.Parse(ids[1].Substring(2));
                    var user = server.Users.FirstOrDefault(u => u.Id == uid);
                    if (user == null)
                    {
                        return;
                    }
                    await user.SendMessageAsync(msg).ConfigureAwait(false);
                }
                else
                {
                    await ReplyErrorLocalized("invalid_format").ConfigureAwait(false);
                    return;
                }
                await ReplyConfirmLocalized("message_sent").ConfigureAwait(false);
}```
is a better way to do that
#

¯_(ツ)_/¯

sinful meadow
#

way

#

to

#

advanced

#

i dont need a giant damn thing

#

xD

weak parrot
#

To me it never matters how big it is as long as it works 😏

stone kiln
#
 var cid = ulong.Parse(ids[1].Substring(2));
                    var ch = server.TextChannels.FirstOrDefault(c => c.Id == cid);
                    if (ch == null)
                    {
                        return;
                    }
await ch.SendMessageAsync(msg).ConfigureAwait(false);```
@sinful meadow try that
sinful meadow
#

i dont even have server defined

#

lmao

weak parrot
#
                if (Context.Guild.Name == "Name")
                    if (Context.Channel.Name == "channel")
                    {
                    await ReplyAsync("nose long like garden hose");
                    }

Is how I always do it

#

¯_(ツ)_/¯

fervent goblet
#

lol

stone kiln
#

@sinful meadow do this to define server

                var sid = ulong.Parse(ids[0]);
                var server = _client.Guilds.FirstOrDefault(s => s.Id == sid);
sinful meadow
#

Ill let ya know if it works

stone kiln
#

👌

fervent goblet
#

lol

#

sid

sinful meadow
#

AYYYYYY thanks mate @stone kiln

stone kiln
#

np

sinful meadow
#

@stone kiln

#

Sooooo what does this do

#

Client.Guilds.FirstOrDefault

stone kiln
#

takes the first arg you put after the initial command

sinful meadow
#

Ah

#

i see

stone kiln
#

well and then the first server it can find with that id

sinful meadow
#

Yea

stone kiln
#

sorry used to using that

sinful meadow
#

@stone kiln this is what im working on

#

Now i just need to get the id

#

of my thing 😛

#

1 sec

stone kiln
#

😛

sinful meadow
#

ill be uploading a gif

stone kiln
#

ah

#

kewl

neon pasture
#
    sql.run(`DELETE FROM queues WHERE rowid = (SELECT rowid FROM queues WHERE guild = "${msg.channel.guild.id}" LIMIT 1)`);
    sql.get(`SELECT * FROM queues WHERE guild = "${msg.channel.guild.id}" LIMIT 1`).then(endRow => {
      if (endRow === undefined) {
        return;
      }
      var stream2 = ytdl(endRow.link, { filter: 'audioonly' });
      connection.play(stream2);
      bot.createMessage(msg.channel.id, {
        embed: {
          color: 0x2a62c9,
          fields: [
            {
              name: `:notes: Now Playing!`,
              value: `**${endRow.title}**\nAdded by: **${endRow.person}** / Length: **${(endRow.length / 60).toFixed(2).replace(".", ":")}**`
            }
          ]
        }
      }).then((message)=> {
        setTimeout(function(){
          bot.deleteMessage(msg.channel.id, message.id);
        }, 60000);
      });
    });
  });```
why is this looping?
sinful meadow
#

sqlite

#

and ytdl-core

#

NASTY

stone kiln
#

setTimeout GWlgbtqZoomeyes

weak parrot
#

👀

neon pasture
#

I asked for help, not for shots in my face.

sinful meadow
#

xDDD

#

And the reason why is

#

Sqlite always loops

stone kiln
#

i think it's because of the setTimeout feature not ending properly XD

sinful meadow
#

to check something inside the database

stone kiln
#

because on message setTimeout

neon pasture
#

it does.

sinful meadow
#

Yea

#

lmao

neon pasture
#

when I have 5 rows in my database, it loops 5 times.

#

so it's sqlite right?

sinful meadow
#

It will go like a i++

stone kiln
#

^

sinful meadow
#

If i === 5

#

it will set back to zero

#

and loop back through

neon pasture
#

eww.

sinful meadow
#

lmfao

neon pasture
#

so I need to block it then

sinful meadow
#

¯_(ツ)_/¯

neon pasture
#

I will add a cooldown then

#

if that work.

stone kiln
#

cooldown is better then timeout

sinful meadow
#

@stone kiln could you help me make my control panel thing lmao

neon pasture
#

Timeout is just to delete the message after 1 minute @stone kiln

sinful meadow
#

why do that

#

when you can do

#

message.channel.send("e").then(e => e.delete(60000))

#

Kappa

stone kiln
#

^

neon pasture
#

boi

stone kiln
#

way easier XD

sinful meadow
#

hahahhahahahah

neon pasture
#

those tips, thanks

sinful meadow
#

Np

stone kiln
#

a control panel in C#

sinful meadow
#

Yea @stone kiln

neon pasture
#

I don't know why I ever got 8K guilds boi, when i'm so noob

sinful meadow
#

xDDDDDD

weak parrot
#

Lol

sinful meadow
#

Anyways yea Computer

#

could you lmao

stone kiln
#


int x = 4;
int y = 4;
foreach(PhysicianData pd in listPhysicians)
{
   x = 4;
   y = panPhysicians.Controls.Count * 30;
   RadioButton rb = new RadioButton();
   rb.CheckedChanged += new System.EventHandler(rbPhysician_CheckedChanged);
   rb.Text = pd.name;
   rb.Visible = true;
   rb.Location = new Point(x, y);
   rb.Height = 40;
   rb.Width = 200;
   rb.BackColor = SystemColors.Control;
   rb.ForeColor = Color.Black;
   rb.Font = new Font("Microsoft Sans Serif", 10);
   rb.Show();
   rb.Name = "rb" + panPhysicians.Controls.Count;
   panPhysicians.Controls.Add(rb);
}

#

XD

sinful meadow
#

tf is dat

stone kiln
#

a panel

#

with a simple button

sinful meadow
#

c# is better with forms

#

lmao

stone kiln
#

these are just to make buttons XD

#

this forEach loops make it refreshable

#

¯_(ツ)_/¯

sinful meadow
#

;p

fervent goblet
#

fuck clangs

#

I use electron now

#

😃

sinful meadow
#

@stone kiln

#

How can i get a guilds name

#

then get the id?

fervent goblet
neon pasture
#

It still fucking loops... going to use json then.

sinful meadow
#

~facepalms~

#

Its not just that easy lmao @fervent goblet

#

i want to find the server

#

and get the id

#

xD

fervent goblet
#

xD

stone kiln
#

will talk later have to work

sinful meadow
#

Alright

low niche
#

@sinful meadow learn java

#

Lol

sinful meadow
#

lel

low niche
#

Zythorox 2.0 in Java™

sinful meadow
#

kappa

weak parrot
#
        [Command("list guild ids")]
        public async Task GuildIDS(int page = 1)
        {
            page -= 1;

            if (page < 0)
                return;

            var guilds = await Task.Run(() => _client.Guilds.OrderBy(g => g.Name).Skip((page) * 15).Take(15)).ConfigureAwait(false);

            await Context.Channel.EmbedAsync(guilds.Aggregate(new EmbedBuilder().WithOkColor(),
                                     (embed, g) => embed.AddField(efb => efb.WithName(g.Name).WithValue((g.Id)).WithIsInline(false)))).ConfigureAwait(false);
        }

@sinful meadow

#

However using pages is hard when in a lot of servers xD

steel shoal
#

can some one help me out? I wanna make a command like @(name) prefix or only a mention

north fog
#

language ¿

#

and what library

steel shoal
#

discord.js

north fog
#

then I cannot help you, I dont use node.js

#

why do so much people use node.js ¿¿¿

steel shoal
#

Okey thx for your time

stone kiln
#

because js is ez for noobs

steel shoal
#

haha I have no idea

north fog
#

try looking in the documentation

steel shoal
#

haha

#

I will

pearl schooner
#

How can my bot be active 24/7 FREE=?

#

Tag me

languid dragon
#

also

#

if you want something active 24/7

#

you wont find a free VPS

pearl schooner
#

uhm

viral tiger
#

heroku works

fervent goblet
#

Flytix I can host it for you but not for free ofc

#

and I'm pretty sure heroku isn't 24/7

stone kiln
#

it goes off when there has been any activity for the last 30 or so minutes

fervent goblet
#

lol

mighty barn
#

Aswell as there's a 550 hour limit per month unless you add a credit card to your account

unreal tusk
#

Hey guys! Do you know why lavplayer throws this exception when I try to load video from youtube?
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: This video is unavailable.

winged osprey
#

Means the video is unavailable, as the error says

unreal tusk
#

All videos in youtube?

#

And it happens only if I load videos by url

earnest phoenix
#

some1

glossy sand
#

ok so like

earnest phoenix
#

client.on('message', message => {
if (message.content === 'ping'){
msg.reply(:ping_pong: Pong!\n***Time: ${client.ping} ms***);
}
};

#

i need to fix

glossy sand
#

right so client.on() is a function that takes a string and a function

native palm
#

I saw the error in you code.

earnest phoenix
native palm
#

The picture you sent showed an extra ')' after client.on('ready')

glossy sand
#

you've passed it a string and function but you didn't close the parentheses?

native palm
#
client.on('ready'), () =>
#

That ) after 'ready' isn't supposed to be there.

neon pasture
#

^

#

Just check the example from the site...

glossy sand
#

they're... not going to learn anything if you just give them a mechanical answer

earnest phoenix
#

Why would i copy from the site?

neon pasture
#

because then you did not have these mistakes, and that saved you a few minutes

earnest phoenix
#

client.on('ready'), () =>

#

i got same error

native palm
#

No ) after 'ready'.

neon pasture
#

kid.

earnest phoenix
#

how do you know my age?

neon pasture
#

client.on('ready', () =>

#

you even read?

glossy sand
#

why are you even a consultant

earnest phoenix
#

You can not guess someones age just because of how they type or what they do or do not know.

glossy sand
#

all you do is insult people and tell them to copy-paste solutions

neon pasture
#

It's just that someone is telling him that already for 4 times.

#

And the only thing he says, I got this error. and don't even read.

earnest phoenix
#

I'm sorry I don't always understand stuff like you

neon pasture
#

we tell you, and you don't read. that's the problem.

#

when someone (@native palm) is helping you, just listen to him.

earnest phoenix
#

If he says to copy and paste his stuff, i did

#

I didnt read his earlier message

native palm
#

blobglare You pinged me... How dare you?

neon pasture
#

sorry :(

#

But you got it? @earnest phoenix

earnest phoenix
#

no

#

new error

neon pasture
#

make a screenshot

earnest phoenix
#

Yeah I make screenshots for a living

#

I get 20p per 100 screenshots

neon pasture
#

you have to save it.

earnest phoenix
#

Ugh

#

Why dont these stuff have auto savers

#

Like glitch

neon pasture
#

lol

#

just press ctrl + s

#

and now?

earnest phoenix
#

now it works

neon pasture
#

cool

glossy sand
#

the question is whether or not you understand why it didn't work before and why it works now

earnest phoenix
#

thank you for insulting me on not knowing how to read.

#

I understand

#

The xtra ( was the problem

#

or )

neon pasture
#

last one

native palm
#

Good. Good. Seems like you learned from this ordeal.

glossy sand
#

well, yeah the problem is that you had an extra closing parentheses

#

but there must have been a reason you put it there in the first place

earnest phoenix
#

hmm

glossy sand
#

and it's misunderstandings of the syntax like that that are important to iron out

native palm
#

The problem seems to be displayed in plain english.

#

msg isn't defined.

earnest phoenix
#

oh

glossy sand
#

you've named your variable "message" but referred to it as "msg" lol

earnest phoenix
#

my bad

neon pasture
#

it's message.reply.

glossy sand
#

also, consider installing the js linting plugin for vscode

#

it'll catch problems like that while you're programming

earnest phoenix
#

js linting

#

ok

native palm
#

No ing, iirc.

earnest phoenix
glossy sand
#

I think the plugin's just called eslint?

earnest phoenix
glossy sand
#

yeah probably

viral tiger
#

yup

quiet bobcat
#

How can I add a permission in the permission tab of a channel?

#

I'm using discord.js

fervent goblet
#

?

#

ChannelOverwrite

restive silo
#

permissionOverwrite

#

btw

quiet bobcat
#

ok

#

How do I see if a member has the permission send_messages or not?

umbral pelican
#

did you even try to find it yourself blobawkward

quiet bobcat
#

It doesn't say there?

thorny hinge
#

if(message.member.permissions.has('SEND_MESSAGES'))

quiet bobcat
#

Thanks

#

:-:

earnest phoenix
#

see ur error now?

#

wait

#

holy shit

#

my discord lagged hard

umbral pelican
#

oof

earnest phoenix
#

oof indeed

#

been playing with electron

#

its pretty neet

abstract mango
#

ahhahahhaahahh

earnest phoenix
#

I has a question

#

How would I stop a setInterval function after a set amount of time

umbral pelican
#

clearInterval()

#

in a timeout

distant sparrow
#

Is there any straightforward way to use colored text in embeds?

glossy sand
#

there's no roundabout way to do it either

#

coloured text isn't supported by markdown

distant sparrow
#

So uh

#

Is there any way to do it? I know i've seen bots used colored text in embeds

glossy sand
#

odds are you've seen bots either embed an image of coloured text

#

or you're talking about blue link text

distant sparrow
#

here's an example, sec

glossy sand
#

oh that' s a code block

#

what you're seeing is syntax highlighting for diff

#
+This text is green
-This text is red
distant sparrow
#

Hm

#

So there's no easy way to get specific colors?

#

Damnit

earnest phoenix
#

How would I use a forEach statement?

#

For example

#

I want to get a list of all users in a server

#

How would I do that?

vital lark
#

You need to use fs.

#
fs.readdir(path, (err, files) => {
    if (err) throw new Error;
    files.forEach((f) => {
        // code
    });
});```
earnest phoenix
#

??????

vital lark
#

fs module

earnest phoenix
#

Wait why

#

d.js?

vital lark
#

for any discord lib

#

path = path like require('./path');

earnest phoenix
#

Why would I need dat tho

vital lark
#

ommg

earnest phoenix
#

Nonono I get what your saying

vital lark
#

it's ```js
bot.users.map(x => x.user.username);

#

No need forEach

earnest phoenix
#

Well

#

If I was to use forEach

#

How would?

#

my discord is behind af

#
const arr = ['a', 'b', 'c'];

arr.forEach(function(element) {
    console.log(element);
});

// a
// b
// c
#

I got this off the MDN

#

why not use map

#

It doesnt look at all like what you showed me ._.

#

@earnest phoenix Im talking as an example

#

Im not making a command dat gets all users in a server

#

ohohoh examples ok

#

What im trying to do is get all mentioned users in a message(I know how to do that) and do something to each of them

#

madness

#

like

#

get all mentioned users in a single msg?

#

Well I know how to do that

#

But like do a function to each

#

not clear what you are trying to do

#

oh

#

Which would require a forEach statement

#

not necissarily

#

?

#

if you split the args into an array slice 1 off the front (your execute cmd) and then for blank in blank u could achieve that

#

like um

#

I've done that

#

why does this not work then?

#

Because I dont know how to use forEach statements ._.

#

here

#

let array = []; //obv input an argument array with all the mentions
array.map((mention)=>{
    //mention is the item in array execute function here
})
#

do you want to use foreach?

#

i recommend map

#

obv

#

forEach would be preferrable

#

Just so I know how to use it in the future

#

why

#

oh

#

ok

#
let array = []; //obv input an argument array with all the mentions

array.forEach((mention)=>{
    //mention is the item and execute a func on it in here
})
#

i would seriously recommend map instead though if u can

#

Okaayy

#

Wait

#

So is mention left alone?

#

?

languid dragon
earnest phoenix
#

^

#

@earnest phoenix ?

#

what do you mean left alone

#

Nvm

#

mk

languid dragon
#

lmao

earnest phoenix
#

im guna map the usernames on a bot of mine with 40k + users

#

👀

#

.map > .forEach > for @earnest phoenix

#

.map pretty much is written same exact way as foreach

#

but is better

languid dragon
#

doesnt map only work with maps and collections 👀 nvm i googled it

earnest phoenix
#

and arrays

#

lol

#

How would-

#

?

#

Okay, how would I reference the user in the function

#

wha

#

That the thing would be done to

#

in foreach?

#

Yes

#
let array = []; //obv input an argument array with all the mentions
array.map((mention)=>{
    //mention is the item in array execute function here
})

#

?

#

like um

languid dragon
#

you want to mention each user in that array?

earnest phoenix
#

No

#

I want to do something to each mentioned user in dat array

languid dragon
#

what are you asking for exactly?

earnest phoenix
#

A method

#
let array = [] //input an argument array of mentions
array.forEach((user)=>{
    console.log(user)
})
#

user would be t he current item in the array

#

Ahhhh okay

pale light
languid dragon
#

it depends what the array is

earnest phoenix
#

its an array full of mentions

#
let mentionedusers = [message.mentions.members]
#

and if he wants the user object

languid dragon
earnest phoenix
#

just client.get

#

I know how to get an array of mentions :/

languid dragon
#

thats not a tutorial on how to get mentions.

earnest phoenix
#

sassy

languid dragon
#

mentions return as a collection i believe

#

you can grab members / users / roles etc from the mentions

earnest phoenix
#

Yes

#

I grabbed members

#

From the mentions

languid dragon
#

so if you want every member, if you use a foreach or .map() you will get a member object for every mention

earnest phoenix
#

^

#

Ah

#

So the item would be member

languid dragon
#

ya

earnest phoenix
#

Lemme try it

languid dragon
earnest phoenix
#

bored af rn

#

thinking about getting into electron ect

#

Its not a function

#

._.

#

Okay hold on

#

well not into electron

#
mentionedusers.forEach((member) => {
#

moreso into react

#

wa

#
let mentionedusers = [message.mentions.members]
languid dragon
#

let mentionedusers = message.mentions.members

#

you dont need the []

earnest phoenix
#

Okay

languid dragon
#

message.mentions.members returns a collection

earnest phoenix
#

Ah

#

So I need to turn it into an array

languid dragon
#

why do you need to turn it into an array? WaitWhat

earnest phoenix
#

To use .forEach

#

..

languid dragon
#

you can use .forEach on the collection XD

earnest phoenix
#

ded

#

OHHH

#

ass

#

Wait

#

So member.method

#

what

#
 mentionedusers.forEach((member) => {
long moon
#

Hello... I have a question. What level of programming experience would you say is needed to create a discord bot?

languid dragon
#
earnest phoenix
#

none to lots

#

@long moon Basic javascript understanding

#

i started programming with scripts like reddit bots ect

#

its a great way to learn as you a having fun

#

ect

languid dragon
#

Basic understanding of any programming language will do fine, as long as you know how to read & google

#

:^)

earnest phoenix
#

pretty much

#

if you know how to read docs you can do any language and any li brary

long moon
#

Cool. I have been programming for many years in C# and Java.

earnest phoenix
#

why not node

#

node is superior! to everything!

languid dragon
#

its really not

#

node.js is only scratching the surface

earnest phoenix
#

ik :(

#

i just like to be enthusiastic

#

about the wounders of javascript paired with tools like react, electron, ect ect

#

YES IT WORKED

long moon
#

Because I started with C# and felt that it would be fine to figure out the logic of programming before trying to learn new languages. My father (also a programmer) says that C# is very versatile and powerful.

earnest phoenix
#

Thank you so mucchhh guys

#

tis is

languid dragon
#

C# is a wonderful platform to learn on

earnest phoenix
#

^

languid dragon
#

i actually started off with javascript and learned C# pretty fast

#

Java is so similar to C# in a lot of ways

#

i learnt Java FROM C#

#

its interesting

earnest phoenix
#

i was thinking about picking up c# or java

languid dragon
#

a lot of the concept is the same

earnest phoenix
#

im at a divide rn

languid dragon
#

just slightly different in a lotta ways

#

Java is more widely supported

#

C# works best on windows only

#

in my experience

earnest phoenix
#

either delve into advanced node using things such as handlebars, express, and the whole mean stack, or go into c# or java

long moon
#

Yea, my father said that they were similar. I was already really good with C# and picked up java to try and make an Minecraft mod for fun and I barely noticed a difference.

languid dragon
#

yeah its pretty neat

earnest phoenix
#

what do you think moonbot

languid dragon
#

oh

#

do what you want my dude

long moon
#

Plus, modding for Minecraft has taught me a lot about server-client interaction and events.

earnest phoenix
#

:/

languid dragon
#

Ive learnt a lot EYES

#

you dont have to stop with one area of programming

#

I've got a fair knowledge of PHP even

earnest phoenix
#

if i get into express, handlebars, react, electron, sockets, and blah b lah blah it would be better

languid dragon
#

i actually used to make huge PHP templates

earnest phoenix
#

since knowing a language super well > knowing many ok ish

languid dragon
#

until i realised how slow and heavy PHP is

#

i know a lot super well

glossy sand
#

hello yes if anybody's used discordinjections before, tengo una pregunta

earnest phoenix
#

?

glossy sand
#

is there a way to load local assets from a plugin's stylesheet?

long moon
#

Two quick questions. What library would you reccomend (one with the most versatility), and any advice on the prefix?

earnest phoenix
#

what language

#

prefix's are often . or ! ect so make yours semi unique so you dont share one with another bot

#

so like

languid dragon
#

dont do ! / . / / / ? / - as a prefix

earnest phoenix
#

if ur bots name is xander do like

#

x!command

#

or something

long moon
#

Alright. Thanks!

languid dragon
#

honestly if you're trying out Java

#

i suggest JDA

#

thats the only java one i sent over

#

as for C#

earnest phoenix
#

someone needs to make a jsfuck library

languid dragon
#

every library i tried was aids

#

and really hard to figure out

earnest phoenix
languid dragon
#

"run this"

#

shows a 1

#

fuck that

#

LMAO

long moon
#

So... can you do it without a library? It would just be from scratch?

earnest phoenix
#

lol just copy and paste the eris library in it and convert the whole think hah

#

or have the interpreter interprit it back to javascript and send it to eris

glossy sand
#

you: *uses an existing js library*

languid dragon
#

well

#

you can

earnest phoenix
#

yea

#

im a lame-o

glossy sand
#

me, an intellectual: *runs a C library through emscripten*

languid dragon
#

if you're an experienced coder you could do it 100% from scratch and skip the API wrappers

#

heh

long moon
languid dragon
#

Yes, good idea

long moon
#

And I am pretty experienced. I have written the engine for a text based game.... Just the engine. None of the content. xD

earnest phoenix
#

but.... what

languid dragon
#

nicee

earnest phoenix
#

lol

#

ok

languid dragon
#

Well, I look forward to seeing your bot in the queue :^)

long moon
#

We will see how it goes. 😄

languid dragon
long moon
#

Can I change the prefix later on?

earnest phoenix
languid dragon
#

of course

#

its a string, its 100% changable

#

you could make an external config etc

#

i mean a lot of people store "per-server" prefixes in a database

earnest phoenix
#

yea just import a json file that contains token and prefix

languid dragon
#

also > that is my old homepage lmao

earnest phoenix
#

oml