Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - SinNoAria

Pages: [1] 2
1
Guides, Tutorials & Demo Videos / Re: Tricks with Deepbot Commands
« on: September 17, 2016, 09:54:38 AM »
While I didn't use this guide for my bot, I do have a couple of really absurd commands on my channel. I wanted to mention a few here (in simplified form) as they are similar to what is in the opening post. (essentially an expanded version).

I use triggered commands (Command Chaining) a lot and VIP variables a lot! While these commands don't necessarily need VIP variables, they make things much easier.



(Should be mod only, on my channel, VIP gold have access to this)
Code: [Select]
!AutoHost -> @if@[@target@[1]||On||!startautohost||@if@[@target@[1]||Off||!stopautohost|| ]]What this does is it checks if the word after the AutoHost is On or Off and activates a command depending on which one was chosen.

This is a form of command splitting, which is part of command chaining. (turning one command into multiple commands. The other commands are still available directly, but this command makes it so they only have to remember one command, not that important here, but for more complicated commands...)



!ChaoticAirs (This triggers another command. The importance of this command is less now, but before, this was the only way I knew how to chain without using custom JSON api, this has changed a bit, but I still keep it this way for this command).

This uses the Command Chaining Command: (I have this run as bot and admin access. One thing to note is that @counter@ here actually uses ChaoticRule's counter)
Code: [Select]
!ChaoticAirs -> text + Command Chaining Command: -> !ChaoticRule @counter@ @randomuser@OR ver2
Code: [Select]
!ChaoticAirs -> text + Command Chaining Command: -> !ChaoticRule
This command has actual flavor text, but that is not important here.

(This randomizes the value from the counter and then gives it to the randomuser selected earlier. It should be noted that in ver2 @randomuser@ and @counter@ are used here instead).
Code: [Select]
!ChaoticRule -> !add @rand@[1|@target@[1] ] @target@[2]OR ver2
Code: [Select]
!ChaoticRule -> !add @rand@[1|@counter@ ] @randomuser@
This was mainly to give an example of chaining commands, usually to add flavor text.



!Atropos (This has to be used with a value after)
Condensed version:
Code: [Select]
!Atropos -> @if@[>||@intpoints@||@target@||@editpoints@[@user@|-@target@[1] ] @exec@[1,!rebirtha @target@[1] ] @user@ spent @target@[1] Airs to give viewers Airs with the Atropos spell! || @user@ does not have enough Airs to cast Atropos!]
Now, this likely looks complicated. As this allows the user to specify the amount of points that they want to use, what it does is first checks if the user has enough points.

If the user has enough points, then it works to activate the commands, otherwise, it gives an error message. (The more complicated version would also do a check to see if the target value is high enough)

When activating the command, it first removes the points using editpoints (so the amount doesn't actually show up in chat) by using a -@target@, turning the target into a negative number (this technically can be circumvented, hence why the more complicated version checks that the target value is above a certain amount first, this code looks complicated enough without an extra nested @if@).

Code: [Select]
!rebirtha -> !add @rand@[1|@calc@[/|@target@|4] ] all


(VIP Gold only on my channel, super expensive) Lets my viewers vent a bit and unmod a mod (cooldown is super long so that only one person gets unmodded each day and they can be remodded later, but automating the remodding would be under advanced commands).
Code: [Select]
!unmod -> @if@[@target@[1]||<bot name>||Bot has resisted unmod||@sendstreamermsg@[/unmod @target@[1]] ]
This is a form of user selection (or in this case, deselection (I could've also refunded the points and potentially even undid the cooldown in this case)). With this, you can make it so that a command only gets sent if the person is who you want them to be (using @user@ instead of @target@, for example) You can use various function such as @lookupinfo@ and @readfile@ and depending on how you set things up, @userinfo3@.



(Cooldown is about 30 minutes and costs 44444 points on my channel, I don't use @streamermsg@ on my channel, but whether you have to or not may depend on settings.
Code: [Select]
!HostMe -> @sendstreamermsg@[/host @target@ @user@]

Similarly, you can enable turning on/off your stream with !startstream !stopstream (obs remote). You can give this function to a trusted editor through chaining and user selection!





Now I'll go into what I was going to show.

Code: [Select]
!LicenseUser -> !permit @target@ @user@
Simple enough. What it does is a fallback system. IF there is no target chosen, it falls back to the user that used this. This is useful for SINGLE target commands.

With all that said, a few things that I would've done with the opening post

Code: [Select]
!vp -> !pointadd @target@[1] @target@[2] 100
Code: [Select]
!pointadd -> !add @target@[2] @target@[1]
This would make it so that if you did !vp Streamer, it would add 100, but if you did !vp Streamer 200, it would add 200.

Another thing that could be done is that the amount added could be based on the user (if each user has a different value that they add).

Finally, a different way of approaching the console change

Code: [Select]
!console -> @if@[@user@||<Streamer>||@if@[@target@[1]||XB1||@savefile@[console.txt, <Streamer> is currently streaming on the Xbox One.]||@if@[@target@[1]||PS4||@savefile@[console.txt, <Streamer> is currently streaming on the PS4.]||@readfile@[console.txt]]||@readfile@[console.txt]]
Essentially, !console would display the current streaming system while !console PS4 would change the current system to PS4 and !console XB1 would change the current system to XB1.

There are other ways of doing this, including 'toggle' type commands, but we'd be talking about stuff that are way too complicated.

2
Pre-release Feedback / New chat delay feature rolled out
« on: September 17, 2016, 06:42:19 AM »
A new chat delay feature rolled out today that allows for a delay for moderation purposes before chat is actually displayed in the chat box for normal users.

However, this doesn't do much for those who are using the bot's external chat function to show chat on stream as it ignores the delay feature (as well as moderation actions).

Are there any plans to change it so that it doesn't ignore those?

3
Anyone know if there is any easy way to do user database changes via commands?

Wanting to do a few things:

1) Allow people to remove VIP time from others.
2) Allow people to remove time watched from others.
3) Allow people to add time watched.
4) Reset cooldown for a command
5) Disable point gain for alts.

4
Bug Reports / Re: @ functions for custom commands sometimes doesn't work
« on: November 05, 2015, 10:42:25 PM »
I should be running in admin mode.

5
Bug Reports / calcpre and rand are not working right on my channel
« on: November 05, 2015, 02:54:24 PM »
Bug: calcpre and rand are not working right on my channel

Info: Sometimes when using rand or calcpre, the result fails and gives a wrong result such as ',4]', '4', or even ''.

How did you produce this bug or come across it?: It happens randomly, usually a day after making the command. Seems to fail more often with numbers that have a comma (1000+). After a few hours/days have passed, or an update, whichever is sooner, several commands that use @calcpre@/@calcpost@ and @rand@ stop working as expected. They work again after being deleted and remade. (even without changing anything during the remaking).

Pic: example of it failing on 1000+

6
Bug Reports / @ functions for custom commands sometimes doesn't work
« on: November 05, 2015, 02:44:46 PM »
Bug: Sometimes @ functions will show the @ function instead of activating the function.
Info:

Like @user@ has used @cost@ @pointsname@ to start the @bankname@.

Sometimes it will show something like:

Sin has used 44 Airs to start the Illusionary Sin Dungeon.

Other times, it will do stuff like:

Sin has used @cost@ @pointsname@ to start the @bankname@.

This happens to minigames and my channel commands.


How did you produce this bug or come across it?:

Randomly happens.

7
Feature Requests / Re: Mod Level 2
« on: November 05, 2015, 11:44:19 AM »
For me, my mod level 2s are essentially editors and people that have the ability to stream on my channel. I personally think it would be neat if we had an option to differentiate them. (As in allow us to choose if we want to or not since we might not want to).

8
Feature Requests / Re: Cooldown by user
« on: November 01, 2015, 01:06:01 AM »
Even so, considering I have used bots that do this on a per command basis, as long as it is used in moderation, it shouldn't be a problem, right?

Or perhaps have them all attached to the same per user cooldown so that commands with the option active share cooldowns with designated other commands. (essentially every command designated shares a cooldown with the points command).

Main reason I am asking is due to things like !ticket # being spammed in certain streams. If I put a cooldown manually, that means everyone shares the cooldown.

9
They already have that function.

Where? I didn't see such functions.

I see an autohost list and the ability to select at random from the list, but I don't see an option to host a random Deepbot user that is not on the list. I see a switch if the hosted target goes offline, but I don't see an option for if I go offline and forgot to turn autohost back on.

Also, something I forgot to add. I'd like to have an option, if what I am asking for is possible, to either prioritize VIP Deepbot users or select at complete random.


Essentially my idea is like this:

Deepbot streamer list:
StreamerA
StreamerB
DeepbotUsers(VIPPreferred)
StreamerC
...

And then Deepbot would go down the list.

10
Feature Requests / Re: Cooldown by user
« on: October 31, 2015, 08:29:20 AM »
This is something that probably won't happen for a very long time as the bot would have to keep track of every command every user individually says, which would be very resource intensive to your system and lag your streams and games.

There are bots that have this functionality though. I do agree that it could be resource intensive (especially if you don't have a dedicated bot computer) for larger streams, but for smallers streams, it could just keep track similarly to how you can put a delay on your points check.

11
I'd like for Deepbot to autohost if I have been offline for x minutes.

Also, I'd like for an option to host a random deepbot streamer. I was thinking originally to have it be if none of my list was streaming, but now I am thinking that it could be something to add to the list so that I could have deepbot streamers above some other streamers and below others.

12
Feature Requests / Re: Limit the amount of times a command can be used
« on: October 28, 2015, 11:37:48 PM »
You can just use the cooldown feature.



I've compared the two options and both options are nice. Revlobot has you manually reset the limit, which I think works well. (Sort of like counter)

Cooldown is somewhat limited though for this role.

I might want only 4 people to get a shoutout at the end of the stream. Putting a cooldown is all fine and dandy, but...

What if my stream runs longer? Do I have to go and turn off the command mid-stream? Interrupting my stream? What if my stream ends early? Do I have to go and turn off the cooldown and turn it back on once enough people are in?

I might want only 20 people to be able to use a command that gives them 500 points each stream. I could use a cooldown for that, but then they have to wait, especially with the global cooldown in place.  With a limit, it would just be first 20 that use the command. (Queue would be possible, but manually doing that and the limit of 2 open queues...)

One way to sort of do it is if you are vip, you could, in theory, try the if command, but you would need a logistical compare rather than a equal/not equal compare.

13
Feature Requests / Re: "Regular" viewers & endless VIP
« on: October 28, 2015, 11:30:56 PM »
I've seen at least one bot aside from ankhbot where you could autopromote to regular status (essentially VIP Bronze) once a threshold was met (time watched/points earned/both). It would be nice to have this feature with deepbot.

In at least one case, there was points held, meaning if you had enough points, it could promote you, but if you had less, you could also be demoted.

I mean, I have a way for users to VIP themselves for points, but I'd like there to be an automatic as well.

14
Feature Requests / MultiMessage / MultiCommand
« on: October 28, 2015, 11:20:31 PM »
Right now, there is really no way I've seen to do this aside from linking a large number of commands (and managing cooldowns can be a pain).

I was thinking that there could be a function like @n@ to make it so that the bot sends out a new line after x seconds (1 being default).

Or have a multicommand function where all the commands are chained to the previous 'command' and you edit one command and it shows up as tabs for each additional action.

Example: !TakeAndGive might have two tabs. First tab removes points from a user. Second tab gives points to a random user. Using the command automatically uses the first tab, then the second. ie: chaining could have a chain to tab: #.

This way, the commands are easier to organize and are less cluttered.

The multicommand function could even allow for a specific tab to be triggered, allowing for multiple functions to have one cooldown timer. Similar to this suggestion: http://deepbot.deep.sg/forums/index.php?topic=5010.0

Example: !HappyGiving Could have one tab that gives points to a specific user (might cost some points to do so) and one tab that gives points at random (might be free to do so). These could share the same cooldown, but would have slightly different ways of triggering. (ie) !HappyGiving for the default tab, !HappyGiving[2] for the second tab.

15
Ignored user group: Can't use most commands, but can use basic commands such as !bankheist or !points or !ticket.

Banned user group: Can't use any commands, (possibly can't gain points/time).

Also potentially disabling specific commands for specific users (possible now, but requires a long workaround).

Pages: [1] 2