|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Thu Mar 28, 2013 8:12 pm
CMud and txt msging/email |
A friend of mine has mentioned he has tells from other players forwarded to his cell phone(txt) and email using CMud.
I'm just curious, is this even possible, is he pulling my chain, or is there a way to set this up?
Please and thank you? :) |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Thu Mar 28, 2013 10:06 pm |
It's possible, you just have to script it. Your choices, I guess, would be either COM scripting (connecting to Outlook or whatever email client you use) or URL scripting (parsing the html data from your webmail page).
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Thu Mar 28, 2013 10:18 pm |
I use GMail. Do you have an example by chance? I tried searching the forums but was unable to find out how.
What about sending over txt msgs? or like Gmail Chat? |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Fri Mar 29, 2013 2:22 am |
I imagine the same processes would be used. I know someone sends tweets out about common in-game events. There was a scripting-enabled plugin for ZMud that let you chat with other ZMud users, but that doesn't work with CMud and the talk about adding a native chat module into CMud obviously never made it off the wishlist.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Fri Mar 29, 2013 3:05 am |
Shucks. I checked out gmail, they have some gmailapp stuff on their site, but I couldn't figure out how to incorporate it into cmud. If anyone feels adventurous and would like to offer me assistance, I'd be very grateful :D
Thanks Matt for your info. |
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Sat Mar 30, 2013 2:28 am |
You can use Lua to actually script it, as I do. And you can send text messages via email as long as you know the carrier's text-message email address.
|
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Sat Mar 30, 2013 2:33 am |
By the way, there's a finished COM scripting script in ZMUD's finished forums, I posted the changes for CMUD a long while back.
But let me elaborate on the Lua scripting. You can use smtp.lua and OpenSSL to send email from Gmail's account. I've been doing that for well over a year now, it's just a bit of a pain to initially put together. I can attempt to put together a little package for you and try to explain the steps, if you'd like. |
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Sat Mar 30, 2013 12:49 pm |
Charneus, I would appreciate that very much if it's not too much trouble. Thank you very much!
|
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Sat Mar 30, 2013 5:16 pm |
I'll see if I can explain it as easily as possible, then. Personally, I love it as it seems to work much better and quicker than COM scripting does.
I think I may have isolated the key components necessary for sending mail through Lua.
1. First, download this file: https://dl.dropbox.com/u/16729822/email.zip
2. Extract everything to the root of your Program Files/CMUD directory. If it asks you to overwrite anything, go ahead and do it.
3. Next, open up Program Files/CMUD/luaemail.lua in notepad.
4. Look for the following lines:
Code: |
from = '<yourlogin@gmail.com>',
user = 'yourlogin',
password = 'yourpassword', |
Change it appropriately. For instance, if your email was ImJoeSchmoe@gmail.com, you'd change the from to:
Code: |
from = '<ImJoeSchmoe@gmail.com>' |
Make sure you keep the angle brackets.
5. After making the necessary changes, it's time to go to CMUD and enter the Lua prompt (Ctrl + `)
6. Type: require 'luaemail' to call the functions into CMUD.
7. To send a message, type (in Lua prompt): sendMessage("some@emailaddress.com","Your subject","Your message")
That should be about it. If you get any issues whatsoever, you may need to download the OpenSSL Visual C++ Redistributables, which you can find here.
If you run into any problems, let me know. I've tried to streamline it as much as possible, but I never know how it's going to turn out. Also, if you want to send a text message, you can do so using the following format:
sendMessage("1234567890@carriertextemail.com","",Text from CMUD!")
You can look up your carrier's specific email address by googling your carrier's name and "text message email". Lastly, you can send multiple line emails as well with the inclusion of <br> at the proper places, as it recognizes HTML code and will apply it properly. You can put this all into an alias, doing:
Code: |
#ALIAS sendemail {#LUA {sendMessage(zs.param(1), zs.param(2), zs.param(3)}} |
and just typing sendemail "me@myown.com" "Subject" "Message"
I hope this helps! |
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Tue Apr 02, 2013 12:26 pm |
Thanks for taking the time to do this Charneus. Sorry I haven't gotten back sooner, but have been busy.
I tried this, but unfortunately it did not work.
When I try require 'luaemail' I get:
Parse Error
Error parsing command:
loop or previous error loading module 'luaemail' (line 1)
require 'luaemail'
Stack trace:
[C]:-1:in function "require"
[string "code"]:1:in main chunk"
if I try to send an email I get:
Parser Error
Error parsing command:
attempt to call global 'sendMessage' (a nil value) (line 1)
sendMessage("my test email address","testing","test")
Stack trace:
[string "code"]:1:in main chunk"
All the files were extracted into c:\progra~1\cmudpro\
I tried installing the visual c+, but that didn't help
Any ideas what happened?
Again, thanks for your help! |
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Tue Apr 02, 2013 11:30 pm |
I missed something.
The very first time I try to run require 'luaemail' I get this
Parse Error
Error parsing command:
module 'socket' not found:
no field package.preload['socket']
no file '.\socket.lua'
no file 'C:\Program Files (x86)\CMUDPro\lua\socket.lua'
no file 'C:\Program Files (x86)\CMUDPro\lua\socket\init (line 11) |
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Wed Apr 03, 2013 2:33 am |
Copy the contents of the luaemail.lua file, change command prompt to Lua command prompt, paste the contents and hit enter. What happens when you do that?
|
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Wed Apr 03, 2013 2:35 am |
there is no socket.lua in the zip file. I tried downloading socketlua from another website, but I still couldn't get it to function properly.
|
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Wed Apr 03, 2013 3:25 am |
Try downloading the zip file again and copying the contents over to the same folder. I added two more folders. Let me know how it works out from there.
|
|
|
|
Loftaris Adept
Joined: 24 Aug 2004 Posts: 277
|
Posted: Wed Apr 03, 2013 12:39 pm |
Parse Error
Error parsing command:
"error loading module 'ssl' from file '.\ssl.dll':
The specified procedure could not be found. (line 0)
require 'luaemail'
Stack trace:
[C]:-1:in a C function
[C]:-1:in function "require"
.\luaemail.lua:5:in main chunk
[C]:-1:in function "require"
[string "code"]:1:in main chunk
After that, sendmail fails like normal. |
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Thu Apr 04, 2013 3:08 pm |
I'll see what I need to do on my end here, then update it once I figure it out. I'm documenting the steps this time to make sure I get everything, too. :p
|
|
|
|
Fizgar Magician
Joined: 07 Feb 2002 Posts: 333 Location: Central Virginia
|
Posted: Mon Apr 15, 2013 7:56 pm |
Have you had any luck digging up all the required files to make this work?
|
|
_________________ Windows Vista Home Premium SP2 32-bit
AMD Athlon Dual Core 4400+ 2.31 GHz
3 GB RAM
CMUD 3.34 |
|
|
|
charneus Wizard
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Tue Apr 16, 2013 6:52 pm |
Sorry, been busy with school and whatnot, but I may have found something. Once I'm out of class, I'll update the post. Sorry for taking so long on it!
|
|
|
|
Tarn GURU
Joined: 10 Oct 2000 Posts: 873 Location: USA
|
Posted: Tue Apr 16, 2013 10:25 pm |
charneus wrote: |
Sorry, been busy with school and whatnot, but I may have found something. Once I'm out of class, I'll update the post. Sorry for taking so long on it! |
If you have too much trouble, it shouldn't be that hard to script an SMTP (telnet) session in CMUD for email and most of the big cellphone providers have (used to have?) email->text gateways.
Example:
220 mail.example.com ESMTP Sendmail 8.13.1/8.13.2; Tue, 16 Apr 2013 18:19:50 -0400 (PDT)
helo example.com
250 mail.example.com Hello testserv.att.com [111.7.212.178], pleased to meet you
mail from:tarn@example.com
250 2.1.0 tarn@example.com... Sender ok
rcpt to:charneusl@example.com
250 2.1.5 charneus@example.com... Recipient ok
data
354 Enter mail, end with "." on a line by itself
From: tarn@example.com
To: charneus@example.com
Subject: test message
This is the first line of a test message.
Second line.
Lst line.
.
250 2.0.0 w67JFrbs485232 Message accepted for delivery
quit
221 2.0.0 mail.example.com closing connection |
|
|
|
Tarn GURU
Joined: 10 Oct 2000 Posts: 873 Location: USA
|
Posted: Wed Apr 17, 2013 3:09 pm |
For a quick and dirty solution, try this.
You'll need to set:
messagetext
msgsubject
recipientemail
senderemail
senderserver
in a session defined to connect to port 25 of whatever mail server your ISP tells you to use (it probably blocks direct connections to arbitrary mail servers).
Then, call the alias sendemail
Might need tweaking if your particular server responses are different..
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<class name="smtp">
<trigger priority="20" regex="true">
<pattern>220(.+)</pattern>
<value>#echo matched 2 2 0
#NOOP the server's greeting
helo @senderserver
</value>
</trigger>
<var name="senderserver">mail.example.com</var>
<var name="senderemail">"sender@example.com"</var>
<trigger priority="50" regex="true">
<pattern>250 (.+)</pattern>
<value>step</value>
</trigger>
<var name="msgstate">3</var>
<alias name="sendemail">
<value>msgstate = 0
#connect</value>
</alias>
<alias name="step">
<value>#SWITCH (@msgstate = 0) {
msgstate = 1
mail from: @senderemail
} (@msgstate = 1) {
msgstate = 2
rcpt to: @recipientemail
} (@msgstate = 2) {
msgstate = 3
data
} (@msgstate = 3) {
#NOOP after skipping the state when server says 354
quit}
{
#NOOP Shouldn't happen...
#echo Error in SMTP, stepped past end of defined steps
}</value>
</alias>
<var name="recipientemail">"receiver@example.com"</var>
<var name="messagetext">abcdefg
testing
hijklmnop
</var>
<trigger priority="110" regex="true">
<pattern>354 (.+)</pattern>
<value>#ECHO matched 3 5 4
From~: @senderemail
To~: @recipientemail
Subject~: @msgsubject
%crlf
@messagetext %crlf
~.%crlf
msgstate = 3
</value>
</trigger>
<var name="msgsubject">Test message</var>
<trigger priority="130" regex="true">
<pattern>221 (.*)</pattern>
<value>#NOOP and we're done... server is disconnecting
#DISCONNECT
</value>
</trigger>
</class>
</cmud> |
|
|
|
|
|