Bless up, you a real one G
how to use str.slice() to silence the Successfully added entry #? tnx~~
Instead of
$(urlfetch http://twitch.center/customapi/addquote?token=YOURTOKEN&data=$(querystring))
use
$(eval `$(urlfetch http://twitch.center/customapi/addquote?token=YOURTOKEN&data=$(querystring))`;" ")
Hello! I was just wondering if I could have some help getting the !editquote command to work. I have tried adding it in my channel as suggested, but when I test it, I always get “Invalid Entry Index” from Nightbot. I’m wondering if it has to do with the way I formatted my quotes, with dates and names, which is different from the default way. Other than that, I have no idea what could be causing it. What I’m adding in is
$(urlfetch http://twitch.center/customapi/editquote?token=MYTOKEN&data=$(querystring))
and my addquote command is
$(urlfetch http://twitch.center/customapi/addquote?token=MYTOKEN&data=“$(eval var q = “$(query)”; q.slice(q.indexOf(” “) + 1))” - $(touser), $(time US/Eastern “L”))
Any help would be greatly appreciated!
You have to type !editquote ENTRYINDEX NEWVALUE
For example: !editquote 1 New value for first quote
Also, you aren’t properly encoding the quote in your addquote command. The quote should be encoded so that if you type special characters like &
when using your addquote command, they are treated as data and not as special characters. Here is a fixed version:
$(urlfetch http://twitch.center/customapi/addquote?token=MYTOKEN&data=$(eval var q = decodeURIComponent("$(querystring)"); encodeURIComponent("\"" + q.slice(q.indexOf(" ") + 1) + "\" - "))$(querystring $(touser), $(time US/Eastern "L")))
Thank you so much! It all works properly now. Thanks for fixing my addquote as well. I was wondering why special characters broke the quote, but I figured it might be a limitation of the bot. Turns out it was just me not knowing what I was doing. I was wondering if it was possible to keep the format when I do !editquote. What I mean is, I currently have to do this
And I would like to not have to add the whole formatting in every time when I edit a quote, and just edit the part in quotation marks ONLY, not the whole date and everything. It’s not that big of a deal if I have to do it manually that way, but I was just curious. Thank you for all of your help!
Yes, but it will require you to make a second command named _!editquote
and make !editquote
an alias to _!editquote
Here are the commands:
!editquote (alias to _!editquote)
$(eval e=encodeURIComponent;m=decodeURIComponent("$(querystring)").match(/^(\d+) (.+)/);m?e(`${e(m[1])} ${e(m[2])}`):"0") $(urlfetch $(eval m=decodeURIComponent("$(querystring)").match(/^(\d+) .+/);m?`http://twitch.center/customapi/quote?token=PUBLICTOKEN&data=${encodeURIComponent(m[1])}&no_id=1`:"0"))
_!editquote
$(urlfetch http://twitch.center/customapi/editquote?token=PRIVATETOKEN&data=$(eval d=decodeURIComponent;if((a=d("$(querystring)").match(/^([^ ]+) (.*)/))&&(b=d(a[1]).match(/(\d+) (.+)/))&&(c=a[2].match(/^".*"([^"]*)$/)))encodeURIComponent(`${d(b[1])} "${d(b[2])}"${c[1]}`);else"0"))
Thank you so much for all of your help @am_1! I appreciate it a ton. I wish I knew all of this a year ago when I started setting up this API. You are very helpful.
But actually i want to run a if statement like this
$(eval decodeURIComponent(“$(querystring $(2))”).toLowerCase==“ID”?$(urlfetch http://twitch.center/customapi/addquote?token=TOKEN&data=$(querystring)).slice() +“You are right”:“$(user) Fail!”)
If user say ID in second string, hide alert and show you are right, if not, show fail.
Add a random quote function?
If you don’t add a number a random quote is shown.
alright i tried learning this on my own but have had no success. the custom api for recent followers will not work for me keeps popping up saying " The most recent followers are No channel"
@ehsankia I’ve noticed that the negative index causes the last added quote to be listed as either “-1”, “0” or the listed number (example 259). Additionally, if we call “!quote” and a string/word and a quote is not found, it only pulls the last quote. Is it possible to either respond with a random quote or “no quote found”?
Example: “!quote curse” is used, however, no quote is found using the word “curse” so it pulls the last quote added.
@coffeman0 You can use $(eval) to make Nightbot send a request to the API but also not output its response like so:
$(eval a='$(urlfetch http://twitch.center/customapi/addquote?token=yourPrivateTokenHere&data=dataInput)';' ')
Creating the variable a will call the $(urlfetch) variable within the $(eval), using the API. Then it’ll make Nightbot output a space, which will then make the message blank.
I am using the quote system for my game requests so people do !gamerequest (name of game) and it adds it to the list. My issue is the ! command is not seen to my viewers so i was wondering if there was a way for it to respond with what they added.
Nightbot currently says this: Successfully added entry #4
However it would be cool if it said this: Successfully added entry #4 - Zelda
or whatever. or even a line after that simply said the game name. any thoughts or Ideas… thank you all
@Durendx The response for the command can be:
$(urlfetch http://twitch.center/customapi/addquote?token=...) - $(query)
Nightbot would say “Successfully added entry #X” then say what was added in the $(query) after that.
@ehsankia, do you know if the !delquote and !editquote commands are not working at the moment? I just found this thread and added to my channel but those 2 commands are not functioning right.
I have added 4 quotes just fine and they show when I !quote 1 or 3 but when I do !delquote 3 or 1, it says “no matching entry found”
Are you able to help?
I don’t know if this is still being responded to but how do you make nightbot say “quote #3” instead of just “3.”? Also when I try to say !quote #3 instead of !quote 3 it doesn’t recognize that either. It seems to not recognize the # at all. I’m not great with programming so any help would be appreciated
@andywall In your command response just do something like:
Quote #$(urlfetch http://twitch.center/customapi/...)