[Tease Program] Tease-AI Java (1.4)

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

Post Reply
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java

Post by GodDragon »

Exiting news! I feel confident enought to release the first version of this nifty program. Of course there is nothing for non coders to really work with unless you want to try your luck in scripting and experimenting. You can also just search for bugs or missing features if you want to. Everyone that feels like he can actually script a bit feel free to play around with your own first personality and maybe we can see the first personalities showing up really fast.

WARNING: This is a very early build and you can only use it if you are creating your own personality. This does currently not come with a default personality, however if someone wants to write one or port WickedTease feel free to contact me and do it.
Download: https://mega.nz/#!w25CSBhQ!FklvYUIAQWMO ... 6ooFzOqSPg
You will also need Java 10.
This comes with default url files assigned to the categories. Feel free to change them or keep them for now.
If you need any help feel free to message me or post here. Report all bugs. You can find help regarding coding in the wiki or look at my current personality for reference.

Greetings,
GodDragon
Last edited by GodDragon on Fri May 18, 2018 2:55 pm, edited 1 time in total.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

Bug report: When I run the sample example program, I get a severe error in the log file:
05:34:07 PM SEVERE: Tried to add same text instance multiple times.
This is also occurring on stuff that I am running and I'm not entirely sure why.
I'm an experienced software engineer currently in my senior year at University. I've been looking through your project and it looks nice. One suggestion I have is to be able to allow adding of more categories for media. Also, I'm currently working on porting Wicked Tease over to this as this looks like it is laid out much better than the original TeaseAI. I look forward to seeing more progress and working with this project.
Edit:
P.S: I like how this version of TeaseAI allows the designers of personalities much more freedom than from the original. The original used the structure Start -> (Module->Taunt->Link)->End. I'm going to implement this structure loosely to be able to easily transfer stuff over from original TeaseAI. However, I always hating being bound to this rigid structure and, I like how you've done it here.
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java

Post by GodDragon »

ski23 wrote: Thu May 17, 2018 9:41 pm Bug report: When I run the sample example program, I get a severe error in the log file:
05:34:07 PM SEVERE: Tried to add same text instance multiple times.
This is also occurring on stuff that I am running and I'm not entirely sure why.
I'm an experienced software engineer currently in my senior year at University. I've been looking through your project and it looks nice. One suggestion I have is to be able to allow adding of more categories for media. Also, I'm currently working on porting Wicked Tease over to this as this looks like it is laid out much better than the original TeaseAI. I look forward to seeing more progress and working with this project.
Edit:
P.S: I like how this version of TeaseAI allows the designers of personalities much more freedom than from the original. The original used the structure Start -> (Module->Taunt->Link)->End. I'm going to implement this structure loosely to be able to easily transfer stuff over from original TeaseAI. However, I always hating being bound to this rigid structure and, I like how you've done it here.
Regarding your error: This happens when you send the same text message instance over and over again (probably sendCustomMessage and then you are using the same text instance). Otherwise this might be a bug on my end and you'll need to provide me with some source code.
Yea I could add more categories for media. This will become a thing in the future and won't be to hard to do. Thanks for the feedback.
Awesome to hear this. Feel free to create a repository for your personality. I will help out where I can. The goal was to give the possibility to do basically anything as a scripter without limiting you to anything. Glad that you like it!
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

Thanks for the quick reply. Referring to the error message, I get it after running this script:

Code: Select all

sendMessage("This is a default module to show you how it works", 0);
sendMessage("Check out the repository wiki for instructions regarding writing your own personality", 0);
sendMessage("Link: https://github.com/GodDragoner/TeaseAIJava/wiki", 0);
sendMessage("This script will now end...", 0);
There dont appear to be any messages that are the same here. Here is the entire log report:
05:33:57 PM INFO: Loaded 5 vocabularies.
05:33:57 PM INFO: Loaded 0 responses.
05:34:07 PM CHAT: 05:34 PM Madison: This is a default module to show you how it works
05:34:07 PM SEVERE: Tried to add same text instance multiple times.
05:34:24 PM CHAT: 05:34 PM Madison: Check out the repository wiki for instructions regarding writing your own personality
05:34:35 PM CHAT: 05:34 PM Madison: Link: https://github.com/GodDragoner/TeaseAIJava/wiki
05:34:40 PM CHAT: 05:34 PM Madison: This script will now end...
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java

Post by GodDragon »

ski23 wrote: Thu May 17, 2018 10:18 pm Thanks for the quick reply. Referring to the error message, I get it after running this script:

Code: Select all

sendMessage("This is a default module to show you how it works", 0);
sendMessage("Check out the repository wiki for instructions regarding writing your own personality", 0);
sendMessage("Link: https://github.com/GodDragoner/TeaseAIJava/wiki", 0);
sendMessage("This script will now end...", 0);
There dont appear to be any messages that are the same here. Here is the entire log report:
05:33:57 PM INFO: Loaded 5 vocabularies.
05:33:57 PM INFO: Loaded 0 responses.
05:34:07 PM CHAT: 05:34 PM Madison: This is a default module to show you how it works
05:34:07 PM SEVERE: Tried to add same text instance multiple times.
05:34:24 PM CHAT: 05:34 PM Madison: Check out the repository wiki for instructions regarding writing your own personality
05:34:35 PM CHAT: 05:34 PM Madison: Link: https://github.com/GodDragoner/TeaseAIJava/wiki
05:34:40 PM CHAT: 05:34 PM Madison: This script will now end...
Ahh. Same for me. Interesting. Don't bother though. It is just a fail safe for the program and shouldn't cause any other issues ;) It just prevents visual glitches. So feel free to continue what you were doing and just ignore that error for now.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

Quick question, how would I disable the time for the domme typing. I thought this was accomplished by doing sendMessage("",0) but this doesnt seem to accomplish that. Does that just go on to the next instruction but still have the typing time?
P.S: If you wouldnt mind, could you add a method called like atTheEdge. That triggers the sub is at the edge. I know when startEdging is called, it automatically sets up a response that will do this but, I'd like to be able to do this myself in my own response with more options that trigger the response.
Also if you stop a session that is currently going on, the metronome does not stop.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

Good progress coming along with converting WickedTease over to TeaseAI Java. Got it working with 1 module for start, modules, link, and end. Feel free to check out the progress and download what I have now at my repository:
https://github.com/skier233/WickedTeaseConverted
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease Program] Tease-AI Java

Post by GodDragon »

ski23 wrote: Fri May 18, 2018 12:48 am Quick question, how would I disable the time for the domme typing. I thought this was accomplished by doing sendMessage("",0) but this doesnt seem to accomplish that. Does that just go on to the next instruction but still have the typing time?
P.S: If you wouldnt mind, could you add a method called like atTheEdge. That triggers the sub is at the edge. I know when startEdging is called, it automatically sets up a response that will do this but, I'd like to be able to do this myself in my own response with more options that trigger the response.
Also if you stop a session that is currently going on, the metronome does not stop.
Thanks for reporting. Oh I see. You currently cannot avoid the typing thing however I will add it asap. The 0 just determines the amount of seconds it waits AFTER the message is send before it continues the code. This is so you have time to read the answer. The 0 will set the delay to 0 and immediately continue the code.
Regarding the edge thing, well you can just wait with the while(!isOnEdge()) if that is working for you. Otherwise you can just implement your own edging system without using the one provided by the system. That should work perfectly fine because startEdge etc. just sets up some internal stuff that can be implemented on your end too with ease.
ski23 wrote: Fri May 18, 2018 5:21 am Good progress coming along with converting WickedTease over to TeaseAI Java. Got it working with 1 module for start, modules, link, and end. Feel free to check out the progress and download what I have now at my repository:
https://github.com/skier233/WickedTeaseConverted
Awesome ;)


EDIT: Try the new version: https://mega.nz/#!w25CSBhQ!FklvYUIAQWMO ... 6ooFzOqSPg
You can now use setTypeSpeed("INSTANT"); and also "SLOW", "MEDIUM" and "FAST" work. And also getTypeSpeed() exists. This setting will always just apply to the current selected sender.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

Awesome! Thanks for the quick reply and changes. I'll let you know if I see anything else that is an issue.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

For porting wicked tease, the one thing right now that is the highest priority for me is to have a way to like specific images from the teaseImages. In original TeaseAI, I believe the liked images were put into a file. If you could add this, or if you could add the way to open a picture given the url, I could implement it on the personality side of things.
One request I have that is a bit more complicated is the following. Could you add, or is there maybe support already that I haven't found, a way to display graphics on the screen. What I mean is a way to add support for games. For example, I'd like to eventually implement the RiskyPick game that is included in WickedTease (Deal or No Deal). I know this is probably a bit more complex than other things so if you don't want to, or if it will be a while until this is added, I understand.

Again, thanks for being so active and responding and helping me!
SkyHill
Explorer
Explorer
Posts: 20
Joined: Wed Jan 06, 2016 11:01 pm

Re: [Tease Program] Tease-AI Java

Post by SkyHill »

This is really good so far, especially considering it's early on. I like how it's using straight up JavaScript so I don't need to figure out some custom language and the documentation is comprehensive enough that I have been able to do quite a bit with it after an hour or two.

Questions:
  • How can I call functions from a different Javascript file, in main.js?
  • How do you get a string from the answer?
  • What can you do with setVar/getVar, that you can't do with a regular variable (var test = 123)?
  • What are the benefits of using the Edge methods, over a variable?
  • Are the file and about buttons supposed to work?
Issues:
  • When clicking the Stop button while the dom is typing or after a sendInput event, it gets greyed out and only allows you to start again once you have typed something. When you do it after a createInput event, then there's no way to start it again.
  • The image is not cleared when stopped.
  • Under Method Documentation, Chat is linked twice.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

SkyHill wrote: Fri May 18, 2018 11:41 pm This is really good so far, especially considering it's early on. I like how it's using straight up JavaScript so I don't need to figure out some custom language and the documentation is comprehensive enough that I have been able to do quite a bit with it after an hour or two.

Questions:
  • How can I call functions from a different Javascript file, in main.js?
  • How do you get a string from the answer?
  • What can you do with setVar/getVar, that you can't do with a regular variable (var test = 123)?
  • What are the benefits of using the Edge methods, over a variable?
  • Are the file and about buttons supposed to work?
Issues:
  • When clicking the Stop button while the dom is typing or after a sendInput event, it gets greyed out and only allows you to start again once you have typed something. When you do it after a createInput event, then there's no way to start it again.
  • The image is not cleared when stopped.
  • Under Method Documentation, Chat is linked twice.
Ok, I'm obviously not the OP of the post. However, I can answer some of your questions.

How can I call functions from a different js file in main.js?

My understanding is that you cannot. However, you can get around this by having the function being in the same file. You can run other scripts using the run command as outlined in the faqs.


How do you get a string from the answer?

I'm not sure that you can. However, there are many comparison methods already built in so im not sure you would need to get the string. If you could clarify what you're needing this for, I might be able to help further.


What can you do with setVar, getVar that u cant with normal vars?

I'm not sure how much coding experience you have but basically, with setVar, and getVar, you can have a set of variables that any one of your scrips can access. Whereas with var x = 5, the scope will be local to only the file where you make the variable.
Also, you can modify these variables in the settings which is incredibly useful. Use tempvariables if you want them to expire after the current session. I can explain more on this if you are still unclear.


What are the benefits of using the Edge methods over doing it yourself?

Personally, I didnt see any benefits. I implemented my own edging system because the one provided didn't do everything I needed. Up to you...


Are the file and about buttons supposed to work?

Neither work for me but I assume they are in progress.

I've also ran into some of your issues along with the issue that the metronome keeps playing when you stop the sessison. I'm sure the op will fix these when he gets a chance. I hope I could help some.
SkyHill
Explorer
Explorer
Posts: 20
Joined: Wed Jan 06, 2016 11:01 pm

Re: [Tease Program] Tease-AI Java

Post by SkyHill »

ski23 wrote: Fri May 18, 2018 11:53 pm
Ok, I'm obviously not the OP of the post. However, I can answer some of your questions.

How can I call functions from a different js file in main.js?

My understanding is that you cannot. However, you can get around this by having the function being in the same file. You can run other scripts using the run command as outlined in the faqs.


How do you get a string from the answer?

I'm not sure that you can. However, there are many comparison methods already built in so im not sure you would need to get the string. If you could clarify what you're needing this for, I might be able to help further.


What can you do with setVar, getVar that u cant with normal vars?

I'm not sure how much coding experience you have but basically, with setVar, and getVar, you can have a set of variables that any one of your scrips can access. Whereas with var x = 5, the scope will be local to only the file where you make the variable.
Also, you can modify these variables in the settings which is incredibly useful. Use tempvariables if you want them to expire after the current session. I can explain more on this if you are still unclear.


What are the benefits of using the Edge methods over doing it yourself?

Personally, I didnt see any benefits. I implemented my own edging system because the one provided didn't do everything I needed. Up to you...


Are the file and about buttons supposed to work?

Neither work for me but I assume they are in progress.

I've also ran into some of your issues along with the issue that the metronome keeps playing when you stop the sessison. I'm sure the op will fix these when he gets a chance. I hope I could help some.
Thanks for the reply!

How can I call functions from a different js file in main.js?

Ah, I never checked out the faq, so I missed that part. Though I don't know how to get the run command to work. In my personalities folder I added: Modules > Tease > test.js (sendMessage("You just ran test.js");) and in main.js I added: run("Modules\Tease\test.js");. But nothing happens so I'm guessing I'm doing something wrong.


How do you get a string from the answer?

One reason would be to have the dom repeat something you said before. Also, the getInteger method does not work for a string like: "I'm 22 years old". So I'd like to take the answer string and use it with a custom parse method.


What can you do with setVar, getVar that u cant with normal vars?

Ah, so they're like static variables in the sense that any code can access them and and there can only be one across all your code, as well as acting like a cookie. That's really useful. Most of my experience with programming comes from Actionscript 2.0/3.0 for Flash and Csharp for Unity so I'm more familiar with class based programming.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

I've been trying to figure out how to add more settings to the main settings page right below preferred session length using the java code. I've tried multiple things but haven't had any success. Does this have to be done physically in html to add a new setting option??
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease Program] Tease-AI Java

Post by ski23 »

SkyHill wrote: Sat May 19, 2018 12:25 am
ski23 wrote: Fri May 18, 2018 11:53 pm
Ok, I'm obviously not the OP of the post. However, I can answer some of your questions.

How can I call functions from a different js file in main.js?

My understanding is that you cannot. However, you can get around this by having the function being in the same file. You can run other scripts using the run command as outlined in the faqs.


How do you get a string from the answer?

I'm not sure that you can. However, there are many comparison methods already built in so im not sure you would need to get the string. If you could clarify what you're needing this for, I might be able to help further.


What can you do with setVar, getVar that u cant with normal vars?

I'm not sure how much coding experience you have but basically, with setVar, and getVar, you can have a set of variables that any one of your scrips can access. Whereas with var x = 5, the scope will be local to only the file where you make the variable.
Also, you can modify these variables in the settings which is incredibly useful. Use tempvariables if you want them to expire after the current session. I can explain more on this if you are still unclear.


What are the benefits of using the Edge methods over doing it yourself?

Personally, I didnt see any benefits. I implemented my own edging system because the one provided didn't do everything I needed. Up to you...


Are the file and about buttons supposed to work?

Neither work for me but I assume they are in progress.

I've also ran into some of your issues along with the issue that the metronome keeps playing when you stop the sessison. I'm sure the op will fix these when he gets a chance. I hope I could help some.
Thanks for the reply!

How can I call functions from a different js file in main.js?

Ah, I never checked out the faq, so I missed that part. Though I don't know how to get the run command to work. In my personalities folder I added: Modules > Tease > test.js (sendMessage("You just ran test.js");) and in main.js I added: run("Modules\Tease\test.js");. But nothing happens so I'm guessing I'm doing something wrong.


How do you get a string from the answer?

One reason would be to have the dom repeat something you said before. Also, the getInteger method does not work for a string like: "I'm 22 years old". So I'd like to take the answer string and use it with a custom parse method.


What can you do with setVar, getVar that u cant with normal vars?

Ah, so they're like static variables in the sense that any code can access them and and there can only be one across all your code, as well as acting like a cookie. That's really useful. Most of my experience with programming comes from Actionscript 2.0/3.0 for Flash and Csharp for Unity so I'm more familiar with class based programming.
I'm also a Unity programmer lol. Anyway to your questions:

1.
I ran into this issue as well as you. I eventually solved the issue. javascript, like many other languages, is using the "\" character as an escape character. Therefore to be able to get your run to work you should do this run("Modules\\Tease\\test.js");
OP should edit this to the faq.

2.
Yea, I'm not familiar with any way to do that currently. I'm messing around with the code. Might be able to add this feature for you but no guarantee the OP will keep it in his updated versions.

3.
Yes, just like a static variable. Very useful.
Post Reply

Who is online

Users browsing this forum: No registered users and 19 guests