Перейти к содержимому


Фотография

FIngerChat — НЕпростой чат для GoogolGlasses

GoogolGlasses чат

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 Оффлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 16 Май 2015 - 15:03

FingerChat — моя программка, смысл которой понятен из названия: чат. Но чат не простой — это чат для GoogolGlass... с сетевым интерфейсом: принимает сообщения на определённых портах, отсылает их же туда же.

Кроме того, в чате, на текущий момент:

  • Поддержка команд. Я постарался сделать удобным написание собственных команд: Вам не требуется изменять код основной части, только добавить поля в таблицу: приём, обработку сообщений и передачу аргументов выполняет программа сама. Сейчас доступны команды (в скобках --- уровень доступа по умолчанию):
    • /help — справка по командам (1),
    • /list — список игроков, подключённых к очкам (1),
    • /setgroup — добавить игрока в определённую группу (о них — ниже) до отключения чат-сервера (точнее, до очистки памяти). Перманентно игроков можно ставить в группу в коде программы (4),
    • /mute — замутить игрока. Как и команда выше, временно (3),
    • /unmute — размутить игрока, тоже временно (3),
    • /broadcast — объявление. Пишется капсом и с префиксом [!B!] (3).
    • /stop — "мягкая" остановка чат-сервера (4).
    • /clear — очистка чата (3).
    • /me — сказать что-то от третьего лица (2).
    • /getinfo — если вы далеко от сервера, а насчёт работающего энергоснабжения сомневаетесь. Выводит память и энергию (4).
    • /ping — играем в классический ПИНГ-понг с сервером. Если сервак отказывается работать нормально. Или если чат-сервер упал (1).
  • Распределение игроков по группам. У каждой группы свой префикс, суффикс и уровень доступа. Уровень доступа нужно указывать при написании команд. Группы (уровень доступа в скобках):
    • admin (4)
    • moder (3)
    • prog (2)
    • default (1)
  • Сетевой интерфейс — взаимодействие с модемом. Принимает сообщения типа nick, msg или "!nick:msg" на определённых портах. При обновлении чата отсылается строка формата "[time] sender: msg". Есть возможность делать одни порты по вайт-листу, другие — открыть для всех. Полезно при написании ботов для чата (они тоже могут писать команды). Всем сетевым пользователям устанавливается префикс "[NET]"
  • Лог сообщений. Хранится в /var/log/chatserver_DATE.log.
  • MOTD. Сообщение, хранящееся в /etc/chatserver.motd, которое показывается при старте сервера.
  • Из интерфейсовых штук:
    • Есть возможность указать время жизни сообщений. Тогда каждую указанную итерацию первое сообщение будет удаляться, если всего написано сообщений больше половины.
    • Скроллинг чата при достижении макс. кол-ва сообщений.
    • Бокс статичен, но с градиентом от 0.6 чёрного цвета до 0.0 вправо.
    • Можно указать макс. кол-во символов сообщения.

На сервере доступен основной чат-сервер, который расположен у меня дома (в привате Тоторо у самого спауна).

Для подключения Вы:

  1. Можете попросить меня дать Вам порт для общения.
  2. Можете попросить меня внести в белый список на фильтрованный порт.
  3. Можете прилинковать Ваши GoogolGlasses (терминальные очки из OpenPeripheral) к мосту по координатам 1476, 1876.

ВАЖНО! Все сообщения проверяются СекирБашкой! При флуде, мате и прочих нежелательных вещах Вы будете зарабатывать штрафные баллы! Тем не менее, от прерывания отправки СекирБашка не защитит: в любом случае Ваше сообщение дойдёт до чат-сервера.

 

Скриншот программы:

D23AkQk.png

 

P. S. Так как при включении генмата вырубается сервак (и 12 капаситоров ему не помогают, а вечный источник энергии мне никто не даст по понятным причинам), прикрутил ботик, который будет к тому же демонстрировать функционал программы. При включении/выключении генмата, при низком и очень низком уровне энергии в чат будет писаться сообщение от FingerChat Energy Server. Продемонстрировать не могу — забыл заскриншотить.

P. P. S. Код программы: http://pastebin.com/ji9e8MXD. Если что-то можно изменить в коде для более эффективной работы, обязательно пишите тут или в чате на сервере!

P. P. P. S. А ещё я хочу медалек, да побольше, да за всё!


Сообщение отредактировал Fingercomp: 24 Май 2015 - 09:22


#2 Оффлайн   Krutoy

Krutoy
  • Гуру
  • Сообщений: 499
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 16 Май 2015 - 15:55

JXmNltW.png

 

Ура-ура-ура, наконец то кто то делает сложную, многофункциональную программу, заточенную под удобство пользователей. Как я.

 

Где я могу получить бесплатные очки и стать крутым пользователем твоего чата?

Давай я построю маленькую будку напротив банка где будут раздавать очки автоматически?


Сообщение отредактировал Krutoy: 16 Май 2015 - 15:58


#3 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 204
  • Уровень сигнала: 15,61%
  • В игре: 116 час. 32 мин.
  • ГородЛуна

Награды

                       

Отправлено 16 Май 2015 - 16:54

Хех, я делаю часики + индикаторы всякого бреда, который мы захотим, к примеру: ваше крутое енергохранилище с 1к энергией, подключение умной двери к очкам, оповещения того, не знаю чего, управление другими компьютерами, погода и ещё много всякого бреда.
Постить не буду, ибо я пишу посты со скоростью загрузки бубна.
:)

#4 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 16 Май 2015 - 19:34

Ура-ура-ура, наконец то кто то делает сложную, многофункциональную программу, заточенную под удобство пользователей. Как я.

 

Где я могу получить бесплатные очки и стать крутым пользователем твоего чата?

Давай я построю маленькую будку напротив банка где будут раздавать очки автоматически?

Очки Алекс обещал в /kit glasses (;)), ждём.

Подключаемся через мост на 1476, 1876. Координаты вроде легко запомнить :)



#5 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 24 Май 2015 - 09:23

Решил я, что пора выкладывать программку.

Теперь Вы сможете запустить свой собственный чат-сервер!

ПАСТБИН ПРОГРАММЫ В ОП!



#6 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 735
  • Уровень сигнала: 52,61%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 24 Май 2015 - 11:27

Очки Алекс обещал в /kit glasses ( ;)), ждём.

 

А, точно, ща добавлю, завтыкал.

Отличный чатик! Хорошая программа! 

 

П.С. Кстати на заметку игрокам. Админ блоком типа "АМИ" экранированный чат  $$ бла-бла перехватывается, но..... у нас нет АМИ=)



#7 Оффлайн   YuRaNnNzZZ

YuRaNnNzZZ
  • Пользователи
  • Сообщений: 70
  • Уровень сигнала: 0,06%
  • В игре: 0 час. 28 мин.

Отправлено 26 Май 2015 - 11:28

но..... у нас нет АМИ=)

Кхм.
va2DJea.png

#8 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 735
  • Уровень сигнала: 52,61%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 26 Май 2015 - 12:15

Кхм.

Что кхм? Это детская какашка. Ним только в чате в радиусе 15 блоков (в админском "больше" B-) ) флудить в цикле. Что думаешь, я его не видел :D

 

Ивент только на чат_мессагу.

Он не поддерживает экранировку и сам не видит экранированных сообщений. АМИ видит все экранированные сообщения, и моара и очков.

 

Посмотри сколько ивентов и функций у чатбокса из Моарпериферала и экранировка есть.

А вот админский монстр АМИ.  Чатбокс из КТ, это младенец в памперсе, по сравнению с АМИ, но чтобы были иммибисы, нужен КК.



#9 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 27 Май 2015 - 09:15

Как я понял, читать чат нужно при помощи специально прилинкованых очков, а вот как писать не пойму. Через общеигровой чат? Или путем отправки wifi-сообщения, но тогда как оно определяет кто отправитель?



#10 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 27 Май 2015 - 12:55

Как я понял, читать чат нужно при помощи специально прилинкованых очков, а вот как писать не пойму. Через общеигровой чат? Или путем отправки wifi-сообщения, но тогда как оно определяет кто отправитель?

Итак, подробнее об использовании.

Начнём с очков. Просто подходим к мосту, тыкаем очками по нему и одеваем. Если всё пройдёт успешно, то появится боксик, в который можно отправлять сообщения так: $$ сообщение. Писать это нужно в игровой чат, игрокам без прилинкованных к серверу очков это не будет видно всё равно. Кстати, в ивенте есть и имя отправителя, и uuid, и само сообщение.

Дальше, чуть сложнее будет с сетевым интерфейсом. Здесь ник нужно указывать вручную. Но где и как?

Всё просто, как никогда.

 

Способ №1.

modem.broadcast(PORT, вашник, сообщение)

modem.broadcast(12345, "Фингер", "Привет, мир!")

 

Способ №2.

modem.broadcast(PORT, "!вашник:сообщение")

modem.broadcast(PORT, "!Фингер:Привет, мир!")

 

Второй способ немного недоработан, выложу новую версию поскорее с фиксом.

 

P. S. Обращаю внимание, что главный чат-сервер может отрубаться, когда я буду оффлайн: может кончиться энергия, генмат быть оставленным включённым и т. д. Стабильной работы не будет до тех пор, пока чанк не будет постоянно загружен и будет отсутствовать полностью бесперебойная, не зависящая от других факторов, подача энергии. Вот такие дела.


Сообщение отредактировал Fingercomp: 27 Май 2015 - 12:58


#11 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 27 Май 2015 - 12:58

 

Способ №1.

modem.broadcast(PORT, вашник, сообщение)

modem.broadcast(12345, "Фингер", "Привет, мир!")

 

Способ №2.

modem.broadcast(PORT, "!вашник:сообщение")

modem.broadcast(PORT, "!Фингер:Привет, мир!")

 

Второй способ немного недоработан, выложу новую версию поскорее с фиксом.

А что мне помешает отправлять сообщения от имени администратора?



#12 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 27 Май 2015 - 13:05

А что мне помешает отправлять сообщения от имени администратора?

То, что для сетевых сообщений к нику прикрепляется префикс "[NET]". То есть если кто-то будет писать "Fingercomp", "привет всем", выведется что-то типа такого: [время] [NET]Fingercomp: привет всем. Зарезервированные имена я не делал пока что, так как открытие портов не по фильтру лежит целиком и полностью на совести владельца такого чат-сервера :)



#13 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 735
  • Уровень сигнала: 52,61%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 27 Май 2015 - 15:15

Сетевой способ зря прикрутили. Зафлудят в цикле. И в коде не продумана защита.



#14 Оффлайн   Fingercomp

Fingercomp
  • Автор темы
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 27 Май 2015 - 18:48

Сетевой способ зря прикрутили. Зафлудят в цикле. И в коде не продумана защита.

Я ж говорю, если владелец открывает порт для всех — его проблемы. Но отключение прого-реагирования на модем-сообщения сделаю, так как это выполняется элементарно.







Темы с аналогичным тегами GoogolGlasses, чат

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных