Comments (8)
Thanks for the issue - I had no idea that people other than me and a friend were using this, so I apologize for not checking github issues for a long time.
I've been trying to think of a good way to support this - for my use case, there's a lot of channels that I have muted, but I still want to check occasionally (for example, a "bots" channel that's usually just botspam, but sometimes I get pinged there or moderator duties call me there, etc.). Do you have thoughts of a good way around that? Perhaps making /close
being actually supported (instead of automatically re-opening), as well as /join
(related to #17)
from weechat-discord.
I'm also interested in this feature.
For the implementation, perhaps a building option (I don't think we need to switch between those two modes once the lib is built):
LIBWEECORD_DISABLE_MUTED_CHANNEL=1 cargo build --release
And into the code:
const DISABLE_MUTED_CHANNEL: &'static str = env!("LIBWEECORD_DISABLE_MUTED_CHANNEL");
from weechat-discord.
Yeah a run time toggle of seeing the muted channels would be awesome, and /leave should probably just mute the channel?
from weechat-discord.
Sorry I was reading yfery the wrong way: I think it would be important to be able to switch between seeing muted channels and not.
from weechat-discord.
My usecase is somewhat similar to khyperia. I never mute channels in Discord proper since I don't want to miss anything actually important mentioned but with how Weechat handles buffers, I think it would be useful if you could "deattach" channels (or entire communities in rare cases) but be able to open them (and not miss out on backlog) if you're highlighted, or just on command.
This was one thing I missed in discordIRCd -- it will tell you when you are highlighted in channels you haven't "joined", but you wont get any backlog after joining.
from weechat-discord.
I have unpushed code on my laptop right now, hopefully I can clean it up and push it soon. The behavior I have implemented right now is:
- Add a new setting,
plugins.var.weecord.mute.<id>
- When connecting to (and getting updates from) Discord, any Discord-muted ("Discord proper") channels will have
plugins.var.weecord.mute.<id>
set to1
- if and only if the setting is not already set. - When automatically opening buffers (server channels, PM buffers, etc.), the channel ID is checked against this setting, and if the setting is nonzero, it does not open.
- It's then possible to manually change
plugins.var.weecord.mute.<id>
. Setting it to0
will both block it from getting reset to1
(by point number 2) and let it open. - It's also possible to set that setting for channels that are not muted in "discord proper", and they won't open in weechat (as one would expect)
I'll also eventually add more user-friendliness to this (e.g. /discord (un)mute channel_name
will pipe through to that setting), but that's the core functionality.
I didn't think of the "ping even if it's not open" - that's a really good idea, can't believe I forgot to make sure that works! Additionally, I got a feature request elsewhere (not on Github) to make backlogs functional again, so I'll be working on that (I'll likely add a /discord backlog <n>
to load n more lines of backlog, and perhaps defaulting to 50 or something when the buffer is opened)
Let me know if you think the mute.*
functionality is a terrible idea
from weechat-discord.
<id> is a pretty terrible choice for the value, <servername>.<channelname> would at least be possible to interact with.
from weechat-discord.
Server names and channel names are not constant, and can change at any time (and do change, sometimes rapidly, in some servers). The original reason I wrote this plugin is to be able to use IDs instead of names (like IRC bridges do).
However, your feedback is noted - see the example of the /discord (un)mute
command in my comment before yours
from weechat-discord.
Related Issues (20)
- Cargo build fails on custom build command for `openssl-sys-extras v0.7.14` HOT 1
- Build failed: thread 'main' panicked at 'explicit panic' HOT 3
- Weecord fails to compile HOT 1
- Improve buffer heirarchy HOT 3
- After struggling with openssl HOT 3
- Discord API returns channels the user is not in. weechat-discord should filter these out. HOT 3
- Weechat immediately crashes on /discord connect HOT 7
- [Help Wanted] Using buffer_autoset with weecord HOT 5
- Documentation improvement regarding weechat-dev dependency. HOT 1
- Compilation errors for weechat 1.0.1 HOT 2
- Compilation error: non-capturing closure is experimental HOT 4
- As of 1bb57f0d640431598da043edb8, channels requiring special access are hidden HOT 4
- Only plugins.var.weecord.token shows up as an option HOT 3
- Option to merge server buffers with core HOT 5
- License HOT 3
- Hang (Spinlock) When There is Too Many Servers HOT 5
- Message deletion on user ban HOT 1
- Error connecting after setting up my own server HOT 1
- Make it not dead.
- buffers not appearing when i connect? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weechat-discord.