Найти - Пользователи
Полная версия: отправка смс
Начало » Mobile Python » отправка смс
1 2 3 4
Kass
Доброго времени суток!

у меня вопросы по поводу смс. как отправлять смс на русском языке?
пробую так:

import sys
import messaging

sys.setdefaultencoding('utf-8')
messaging.sms_send(1234,“привет”)

сообщение отправляется, но приходит в виде: ?????

как считывать уже полученные смс? и определять имеют ли они статус прочитанных или нет?

———————-
аппарат нокия е61
Cyxapeff
На счёт отправки. Сам ни разу не отправлял, но где-то я это видел. Помоему на dimonvideo.ru, посмотри там. А вообще скорей всего нужно поиграться с кодировками.

Как считывать написано в официальном API.

У меня например такая функция есть:
    def get_sms(self):
self.all_sms=[]
inbox_object=inbox.Inbox()
for id in inbox_object.sms_messages():
sms={}
sms['Address'] = inbox_object.address(id)
sms['Date'] = inbox_object.time(id)
sms['Content'] = inbox_object.content(id)
self.all_sms.append(sms)
return self.all_sms
Соответственно дальше с ними что хочешь, то делаешь.

Узнать прочитаны или нет, тоже очень просто. В той же API написанно, что у класса inbox есть функция unread(id). Суёшь туда id смски, она возвращает 1 или 0. Соответственно 1 непрочитанная, 0 прочитанная.
Kass
Спасибо за код, уже пробую.. То, что с кодировками нужно играть, я знаю, но как посмотреть доступные? И почему в utf-8 сообщение отправляется и на телефоне отображается корректно, а у адресата нет? Есть ли модули, дополняющие таблицы кодировок?
pythonwin
а может лучше переводить из кириллицы в латиницу и отправлять, а то вдруг у получающего не поддерживает русский язык?
Kass
Мои адресаты точно с телефонами, поддерживающими русский язык.
slav0nic
может быть u“привет” ? + в редакторе точно утф-8 юзаешь?
Cyxapeff
а sys.setdefaultencoding('utf-8') точно работает? Просто я всегда делал unicode(), encode()…
Кодировку я думаю стоит попробовать cp1251.

Посмотреть какие кодировки есть можно например так:
def test_encoding():
files=os.listdir("e:\\System\\Libs\\encodings") # Конечно если питон стоит на флэшке.
for name in files:
encodings.append(u""+name[:-3])
return encodings
По крайней мере это работает для 8 симбиана. Добавить кодировки - тупо взять и скопировать из компьютерного питона их. Они точно так же лежат в Libs/encodings.

Кстати я сейчас вспоминаю, раньше sms_send не поддерживал ничего кроме латиницы…. Но это было давно. Очень. А вообще как уже сказали, самый простой вариант переводить в латиницу. Тогда точно всё везде корректно будет.
Kass
slav0nic
может быть u“привет” ? + в редакторе точно утф-8 юзаешь?
Пробую. Если в редакторе не переключиться на утф-8, то при выполнении команды ошибка вылазит аски (128)
Kass
Cyxapeff
а sys.setdefaultencoding('utf-8') точно работает?…….
Попробую, sys.set… работало! Сейчас поставил питона 1.4 версию, в нем посмотрю.
Kass
import sys
sys.setdefaultencode('utf-8')
import messaging sms-send(''12345'',''привет'','UCS2')
из консоли отправить нормально только так получилось… А в файле ругается всё равно… В какой кодировке сохранять скрипт?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB