Skip to content

Instantly share code, notes, and snippets.

@Adrianl3d
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Adrianl3d/70d8f7c2ff80d2f310cc to your computer and use it in GitHub Desktop.
Save Adrianl3d/70d8f7c2ff80d2f310cc to your computer and use it in GitHub Desktop.
Auto chat responder (obsolete)
//
// afkMenu.js
// Version 0.2
// Created by Adrian 31 September 2014
// Copyright Adrian McCarlie
// This script creates a menu called Greetings
// this opens a window which allows you to set an auto response message
// to respond to any chat message directed at you that contains @yourUserName.
// Default is responder disabled, start and stop any time from the menu.
// Change lines 154,155,156 if you want to set your own default messages.
// The menu item Gestures enables the gesture to be sent to chat with a click.
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
var time = "10 Mins";
var greeting = "";
var isRunning = false;
var gesture1 = "~\u266b~*~Happy Holidays~\u266a~*~\u2665~";
var gesture2 = "\u266b \u266a \u266a \u266a \u266b";// music notes
var gesture3 = "\u2764 \u2764 \u2764";// 3 hearts
var gesture4 = "~~waves~~";
var gesture5 = "\u263a"; //smiley face
var gesture6 = "\u277f \u277e \u277d \u277c \u277b \u277a \u2779 \u2778 \u2777 \u2776 "; //countdown
//var gesture6 = "\u263c \u2640 \u2642; //symbols male fem sun
var gesture7 = " Party at my place, click \u27aa @" + GlobalServices.myUsername + " \u266b"; //
function setupMenus(){
if (!Menu.menuExists("Greetings")) {
Menu.addMenu("Greetings");
Menu.addMenuItem({
menuName: "Greetings",
menuItemName: "Start",
isCheckable: false
});
Menu.addMenuItem({
menuName: "Greetings",
menuItemName: "Change Greeting",
isCheckable: false
});
Menu.addMenu("Greetings > Gestures");
Menu.addMenuItem("Greetings > Gestures", "Click to send to chat");
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture1,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture2,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture3,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture4,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture5,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture6,
});
Menu.addMenuItem({
menuName: "Greetings > Gestures",
menuItemName: gesture7,
});
Menu.addMenuItem({
menuName: "Greetings",
menuItemName: "Remove Menu",
isCheckable: false
});
}
}
function menuItemEvent(menuItem){
if (menuItem == "Stop"){
Menu.removeMenuItem("Greetings","Stop");
Menu.addMenuItem({
menuName: "Greetings",
menuItemName: "Start",
isCheckable: false
});
isRunning = false;
}
if (menuItem == "Start"){
Menu.removeMenuItem("Greetings","Start")
Menu.addMenuItem({
menuName: "Greetings",
menuItemName: "Stop",
isCheckable: false
});
setGreetingForm();
isRunning = true;
}
if (menuItem == "Change Greeting"){
setGreetingForm();
}
if (menuItem == gesture1){
blameJudas(menuItem);
}
if (menuItem == gesture2){
blameJudas(menuItem);
}
if (menuItem == gesture3){
blameJudas(menuItem);
}
if (menuItem == gesture4){
blameJudas(menuItem);
}
if (menuItem == gesture5){
blameJudas(menuItem);
}
if (menuItem == gesture6){
blameJudas(menuItem);
}
if (menuItem == gesture7){
blameJudas(menuItem);
}
if (menuItem == "Remove Menu"){
removeMenu();
}
}
setupMenus();
Menu.menuItemEvent.connect(menuItemEvent);
function blameJudas(gesture){
GlobalServices.chat(gesture);
}
var me = GlobalServices.myUsername;
function onIncommingMessage(user, message) {
var myMessage = message;
var alertMe = "@" + me;
if (isRunning == true){
if (myMessage.indexOf(alertMe) > -1) {
GlobalServices.chat(greeting);
}
}
}
function setGreetingForm() {
var greeting1 = " Sorry but " + me + " is currently AFK! please try again in ";
var greeting2 = " Sorry but ~*" + me + "*~ is currently busy! please try again in ";
var greeting3 = " Sorry but I missed your message, feel free to drop in";
var form =
[
{ label: "Greeting:", options: [greeting1, greeting2, greeting3, "CUSTOM MESSAGE"] },
{ label: "Time:", value: time},
{ label: "Custom Greeting:", value: "Select CUSTOM MESSAGE then enter custom message here" }
];
if (Window.form("Set Chat Auto-Response Message", form)) {
if (form[0].value == "CUSTOM MESSAGE"){
greeting = form[2].value;
}else {
time = form[1].value;
greeting = form[0].value + time;
}
}
}
GlobalServices.incomingMessage.connect(onIncommingMessage);
function removeMenu(){
Menu.removeMenu("Greetings");
Script.stop(removeMenu);
}
function scriptEnding(){
}
Script.scriptEnding.connect(removeMenu);
@Adrianl3d
Copy link
Author

This Script no longer works with High Fidelity since they removed the global chat system

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment