Project

mchat

0.0
No release in over a year
IRC like chat client power by ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 0.20.0
~> 3.1.1
 Project Readme

Mchat

Mchat is IRC like chat client.

Doc: 用Ruby打造一个命令行Slack

preview

This is Mchat client repo, server repo:

Installation

install it yourself as:

$ gem install mchat

Usage

# enter mchat
mchat

# /h for help
/h

或者使用Docker

直接使用

docker run -it mark24code/mchat


Features

repl

  • repl主流程
  • 命令模块化
  • help 命令
  • channel 命令
  • join 命令
  • name 命令
  • message 命令
  • leave 命令
  • quit 命令
  • clear 命令
  • default mode
  • boss mode
  • 存储 Pstore 实现取代文件

timeline

  • timeline 独立
  • 支持简单命令
  • hook_quit

union

  • 联合打开screen window
  • 联合关闭

TODO features

  • 密码登录用户,超级管理员
  • 密码登录channel
  • 创建频道
  • 配置化 * [ ] temp
  • 日志 * [ ] 优化代码,现在太分散 * [ ] 是否要实现一个 tail 包装命令
  • 打包下载
  • README update HOWTO
  • 指令插件化
  • set 命令
  • 打字机效果(需要单独的渲染,不可以文件输出)
  • eval 增加连续组合命令
  • 可以封装在docker里
  • 合理化初始化参数
  • config 三个 path 和dir 部分处理
  • cli 关闭通知timeline关闭
  • 加密消息

mchat_experiment

Private Repo

mchat_experiment

实验脚本

  • module 的模块化写法

  • 进程间 PStore 通信

    • 模块化
    • 面向对象实例
  • Tempfile 的使用

  • MessageQueue 线程队列的使用

  • 使用 screen & screenrc 创造双屏应用

TUI

模拟一个前端基于命令的浏览器

  • eventloop 模拟
  • vnode 虚拟dom的模拟:jsx 构建cli界面
  • hooks 模拟
  • lambda_vnode 纯函数式的写法模拟jsx组件
  • repl 时间循环模拟
  • 基于Curses 封的TUI
  • 基于消息队列封装的client

License

The gem is available as open source under the terms of the MIT License.