[CustomAPI] Quote system

Hi everyone, I’m running into a bit of an issue. I’ve had this quote system for a month and at first it worked perfectly. Now whenever someone adds a quote or just types !quote to see one. This message pops up.
" Quotes must be enabled and at least one quote must be added for this feature to work."

The weird part is, it will successfully add the quote, it will successfully give them the quote to see/read but sends this message directly after. Which just floods the chat and is inconvenient. All of my quote commands are set to “everyone” except for the delete feature that’s for mods only. Someone please help if you can.

That error message does not come from my API. It’s likely some other bot you have that’s accidentally listening and replying to the same command. I assume you’re not using Nightbot, since it doesn’t have a builtin !quote command. I assume whatever bot you’re using has its own !quote command which you need to disable. That’s beyond the scope of this forum or this thread, I would suggesting contacting the maker of the bot itself.

As an aside, it is not recommended to set your edit/add quote commands to Everyone, since someone could abuse and modify/add a bunch of quotes when you’re not around in your chat.

I am using Nightbot and I don’t have any other bots installed. Thank you though for getting back to me and sorry for the confusion. :c

Hello!

Is there a way to add multiple quotes at one time?

Hey @iamvlvt!

No, this is not possible as of now.

Hi.
I was wondering if anyone can’t help me. I have a command set up for when a viewers spends a certain amount of bits or subs on my stream that I can type it the command and it will come up with a message and an amount of times. but the issue i have is that i need that number to be different for each viewer who spends the required amount needed. Here is an example of the command i have and the message :

$(touser) has been banned and sent to a place OF LOVE AND APPRECIATION $(count) times!!

But as soon as i type the first viewer is says : “Paul has been banned and sent to a place OF LOVE AND APPRECIATION 1 times!!!”
then when i type the second viewers with a different name it says : “Chris has been banned and sent to a place OF LOVE AND APPRECIATION 2 times!!!”

How can i have it that it can show different amounts for each viewers that’s name get typed with this command?

I need the $(count) function or similar function to work so that it counts the amount of “times” separately for each viewers who’s name i type in.

Thanks for all your help.

Can i use this api for making points system?

Hey @Bigyan_subba!

It’s not recommended, it’s not the API’s intended use, the dev is free to terminate your tokens at their discretion.


Hey @killer_virus!

I covered this on the forum in the past, it’s not recommended and I won’t offer further support on this for the reason mentioned above, but here are some links:

Please use the search bar before asking.

Hi Emily.

Thank you for trying to help. Maybe i am the one that is not explaining it correctly…lol
I am a complete noob when it comes to all this and even with the things you posted i still have no clue how to get it sorted. From someone like me being a noob and not knowing anything about creating API’s etc point of view - this is very complicated and not very user friendly.

Have a great day

Hey @killer_virus!

I understand, though as I said, it’s not the intended use of that API, so I stopped providing support for such use.

The command you want to create is fairly advanced, I’m not sure how you’d want us to make it user friendly, when by its very nature it’s not something accessible to people who don’t know how to write code.

We’re just volunteers, we provide help building commands because we enjoy it, there’s nothing to earn from this. And NightDev isn’t required to provide support for building commands, they just have to make sure the bot works as expected.

That said, the first link I gave you is the perfect fit for you, all you have to do is:

  1. edit the second part of the first command (!blame) — that part: “$(user) blames $(touser) […] blamed for this” — to what you want your text to say before “X–many times”
  2. in the alias command (_blame) edit N in t=q.split(` `)[N]; to the value of the position of the $(user)/$(touser) you’re counting minus one — if I take the example of sentence you gave earlier N would be equal to 0, so you’d have t=q.split(` `)[0];
  3. follow the instructions to add your command.

I can’t make this any easier.

Hello! I just added this to my nightbot to make a timer to pull a random quote, and we added a handful of them to the list just to test it out, and it only pulls the same quote every time. Is there a way to fix this?

1 Like

Hey @korethewitch!

Make sure your timer’s code, or the timer’s alias command’s code, is the following:

$(urlfetch https://twitch.center/customapi/quote?token=PUBLIC_TOKEN)

Your PUBLIC_TOKEN is 8 characters long.

1 Like

Hello. I’m trying to add a condition (with eval) to my quote command (it’s gonna be a list of videos) to figure out whether or not a search term was given. If not, I’d like to call quote 0 (-1) by default, which will have some explanation given. I’ve tried numerous things, but can’t quite seem to get it working. I’ll post one of my attempts, since they were all pretty similar in the end. I hope you can help me out, thank you!

$(eval
	if($(1) == null) 
		$(urlfetch https://twitch.center/customapi/quote?token=PUBLICTOKEN&data=-1);
	else
		$(urlfetch https://twitch.center/customapi/quote?token=PUBLICTOKEN&data=$(querystring));
)

Hey @zwodo!

In your case it’s better to use an alias command to determine what to do, since you call the API twice with that command, and ideally we want to limit the amount of calls.

So first we want to see if there’s a search term:

!addcom !videos -a=_videos $(eval `$(1)` === 'null' ? '-1' : '$(querystring)';)

Here the command is called !videos and it calls the alias _videos (-a=_videos) with its output, now all we have to do is to create the alias command:

!addcom _videos $(urlfetch https://twitch.center/customapi/quote?token=PUBLICTOKEN&data=$(query))

By the way, the most likely reason why your command was failing is because $(1) == null doesn’t work when working with Nightbot, I think that may be because $(1) is converted to a string in some way, and null isn’t a string, so you have to make sure both sides of the comparison are strings.

1 Like

Hello!
I just noticed that the commands are missing on my friend stream. As far as Im aware only he and I have the acces to the nighbot, we have no idea what happened. Is there any chance of recovering it or we are doomed without the token?

1 Like

Is there a way to give a NAME to a quote? like “!addquote john1 john: Hi, this is quote 1”. So when you do “!quote john1” it print that specific quote. I don’t know if im making me understand, thanks anyways!

first i wanna say, that they r numbered and u can call them by number… u can also have it search by the words in the quote… if u already know all this and still want the name so it’s easier that trying to remember what number each quote is… yes, u can… exactly as u typed it… but i’m guessing u don’t want the name to show and only the quote… if that’s the case i have to ask, do u wanna name ALL of the quotes or just some of them? (i ask, because i have 2 different solutions, but one would require that u name every quote because the first word of each quote would be missing… or the other requires a separate command for adding named ones and one for non-named ones)

Hi, first of all I want to thank you for answering me. And about what I want to do: my idea was to simply name SOME quotes, like you know when someone really says somethings hilarious or remarkable that CAN’T be just “!quote 2” or something like that, I mean, I just don’t like to be like that. I don’t mind to have quotes with numbers, the only thing I want is that some important quotes (to me and to the stream) could have names like in the example I made (!quote john1). Sorry if I don’t made me understand, english isn’t my native language lol

ok, perfect… so to do that, u would keep the !addquote command u have for normal quotes, and then u would need a second one to add the named quotes… and need to modify the !quote command…

this is for the !quote command… don’t forget to replace PUBLIC_TOKEN with the token u already have in the !quote command

$(eval a=`$(urlfetch https://twitch.center/customapi/quote?token=PUBLIC_TOKEN&data=$(querystring))`;b=a=>{a=a.split(` `);a[1]=``;a=a.join(` `);a=a.replace(`  `,` `);return a};a.includes(`@@`)?b(a):a)

this is for the new !addnamedquote command (or whatever u want to name it)… don’t forget to replace PRIVATE_TOKEN with the token u already have in the !addquote command… and when u add quotes with this one, make sure u put the name before the quote just like u did in your example

$(urlfetch https://twitch.center/customapi/addquote?token=PRIVATE_TOKEN&data=$(eval a=`$(querystring)`;`@@`+a))
1 Like

you are the GOAT, thank you so much!