All Projects → terminal-discord → weechat-discord

terminal-discord / weechat-discord

Licence: MIT license
Weechat plugin for Discord support - https://weechat.org/ https://discord.com/

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to weechat-discord

keywee
WeeChat plugin for Keybase chat
Stars: ✭ 14 (-90.79%)
Mutual labels:  weechat, weechat-plugin
pytr
Use TradeRepublic in terminal and mass download all documents
Stars: ✭ 141 (-7.24%)
Mutual labels:  terminal-app
.config
⚙️ Bootstrappable user environment for macOS & Ubuntu
Stars: ✭ 31 (-79.61%)
Mutual labels:  terminal-app
rainbow
Tasty rainbows for your terminal! (lolcat clone)
Stars: ✭ 63 (-58.55%)
Mutual labels:  terminal-app
Habitican-Curse
A Terminal application for HabitRPG using the python curses library
Stars: ✭ 30 (-80.26%)
Mutual labels:  terminal-app
unofficial-discord-client
Unofficial client for discord build in C++ with Qt.
Stars: ✭ 45 (-70.39%)
Mutual labels:  discord-client
signal-weechat
Use signal in weechat
Stars: ✭ 69 (-54.61%)
Mutual labels:  weechat
dotfiles
🗿 dotfilery, configuration, environment settings, automation, etc. 🛖
Stars: ✭ 67 (-55.92%)
Mutual labels:  weechat
tblogs
A simple and useful blogs' reader for your terminal
Stars: ✭ 28 (-81.58%)
Mutual labels:  terminal-app
ArmCord
ArmCord is a custom client designed to enhance your Discord experience while keeping everything lightweight.
Stars: ✭ 258 (+69.74%)
Mutual labels:  discord-client
dinstagram
easily download instagram images & videos with your terminal
Stars: ✭ 19 (-87.5%)
Mutual labels:  terminal-app
qweechat
Qt remote GUI for WeeChat.
Stars: ✭ 56 (-63.16%)
Mutual labels:  weechat
abaddon
An alternative Discord client made with C++/gtkmm
Stars: ✭ 333 (+119.08%)
Mutual labels:  discord-client
BetterDiscordPanel
💬 Discord Messaging Panel that allows you to message inside of a bot!
Stars: ✭ 512 (+236.84%)
Mutual labels:  discord-client
sic
🦜 Accessible image processing and conversion from the terminal. Front-end for image-rs/image.
Stars: ✭ 96 (-36.84%)
Mutual labels:  terminal-app
cgol
Conway's Game of Life in the Terminal
Stars: ✭ 32 (-78.95%)
Mutual labels:  terminal-app
brain-monitor
A terminal app written in Node.js to monitor brain signals in real-time
Stars: ✭ 119 (-21.71%)
Mutual labels:  terminal-app
TWchat
An Geek style terminal based WeChat client
Stars: ✭ 66 (-56.58%)
Mutual labels:  terminal-app
ayu-Terminal-app
ayu color themes for Terminal.app
Stars: ✭ 51 (-66.45%)
Mutual labels:  terminal-app
weercd
WeeChat IRC testing server.
Stars: ✭ 28 (-81.58%)
Mutual labels:  weechat

Weechat Discord

Warning

The developer of cordless (another 3rd party client) has had his account banned for using a 3rd party client.

It is very possible Discord is now actively enforcing TOS violations, I cannot recommending using this project with an account you are not ok with loosing


Usage of self-tokens is a violation of Discord's TOS

This client makes use of the "user api" and is essentially a self-bot. This client does not abuse the api however it is still a violation of the TOS.

Use at your own risk, using this program could get your account or ip disabled, banned, etc.


CI Discord

A plugin that adds Discord to Weechat

(Beta)

This branch (master) is now in maintenance mode as the plugin is being rewritten in the mk3 branch.


Installation

Binaries are automatically compiled for macOS and linux on Github Actions

Building

Dependencies:

  • Weechat developer libraries. Usually called weechat-dev, or sometimes just weechat includes them.
  • Rust. Ensure you have the latest version.
  • libclang

Then just run make install

cd weechat-discord # or wherever you cloned it
make install

This will produce a shared object called target/release/libweecord.so (or .dylib on macos). Place it in your weechat plugins directory, which is probably located at either ~/.weechat/plugins or ${XDG_DATA_HOME}/weechat/plugins (may need to be created)

The Makefile has several other development commands:

make # (same as make all) just runs that `cargo build --release` command, produces weecord.so
make install # builds and copies the .so to the weechat plugins dir, creating the dir if required
make test # install to ./test_dir/ and opens weechat with that dir
make run # installs and runs `weechat -a` (-a means "don't autoconnect to servers")

Quitting weechat before installing is recommended

Set up

You will need to obtain a login token. You can either use a python script to find the tokens, or try and grab them manually.

Python Script

find_token.py is a simple python3 script to search the computer for localstorage databases. It will present a list of all found databases.

If ripgrep is installed it will use that, if not, it will use find.

Manually

In the devtools menu of the website and desktop app (ctrl+shift+i or ctrl+opt+i) Application tab > Local Storage on left, discordapp.com, token entry.

When this was written, discord deletes its token from the visible table, so you may need to refresh the page (ctrl/cmd+r) and grab the token as it is refreshing.

Usage

First, you either need to load the plugin, or have it set to autoload.

Then, set your token:

/discord token 123456789ABCDEF

This saves the discord token in <weechatdir>/plugins.conf, so make sure not to commit this file or share it with anyone.

You can also secure your token with secure data. If you saved your token as discord_token then you would run

/discord token ${sec.data.discord_token}

Then, connect:

/discord connect

If you want to always connect on load, you can enable autostart with:

/discord autostart

Note you may also have to adjust a few settings for best use:

weechat.bar.status.items -> replace buffer_name with buffer_short_name
# additionally, buffer_guild_name, buffer_channel_name, and buffer_discord_full_name bar
# items can be used
plugins.var.python.go.short_name -> on (if you use go.py)

If you want a more irc-style interface, you can enable irc-mode:

/discord irc-mode

In irc-mode, weecord will not automatically "join" every Discord channel. You must join a channel using the /discord join <guild-name> [<channel-name>] command.

Watched channels:
You can use /discord watch <guild-name> [<channel-name>] to start watching a channel or entire guild. This means that if a message is received in a watched channel, that channel will be joined and added to the nicklist.

Autojoin channels:
You can use /discord autojoin <guild-name> [<channel-name>] to start watching a channel or entire guild. Any channel or guild marked as autojoin will be automatically joined when weecord connects.

A typing indicator can be added with the discord_typing bar item by appending ,discord_typing to weechat.bar.status.items.

Messages can be edited and deleted using ed style substitutions.

To edit:

s/foo/bar/

To delete:

s///

An optional message id can also be passed to target the nth most recent message:

3s///

MacOS

Weechat does not search for mac dynamic libraries (.dylib) by default, this can be fixed by adding dylibs to the plugin search path,

/set weechat.plugin.extension ".so,.dll,.dylib"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].