Wtyczka filtruje wulgaryzmy, lancuszki oraz slowa wybrane przez uzytkownika. Jest
niedokonczona bo nie potrafie jej poprawic.
Cenzura v.1.0.0.0:
Wtyczka
Źródła
Więcej informacji na mojej stronieZmiany:
0.1
- z Delphi na C++
0.5
- wiadomosci oryginalne zapisywane sa do historii, w nieobsluzone
- mozliwosc dodawania wlasnych slow (nie dziala)
0.7
- filtruje tylko wiadomosci przychodzace
- przepisanie wszystkiego na szablon ze strony kApi
- nie przechwyca obrazkow i URL
0.8
- obszerniejsze logi
- mozliwosc wyboru tresci wiadomosci
- przerywa po pierwszym slowie nieakceptowanym, skraca to czas przetwarzania wiadomosci, dzieki czemu blad rzadziej wystepuje
0.1.0.0
poprawione bledy:
- blad jak przychodzi dluga wiadomosc
- blad jak wczytuje liste naszych slow
1.0.0.0
- poprawiono zapetlenia
1.0.0.1
- logowanie
keeveek
3.06.2006 - 19:47
mnie się ta wtyczka nie uruchamia.
Proponuję zmianę nazwy na CenzoreK albo Cenzur K
Jak sie nieuruchamia? Jakies bledy? Zaznaczyles w konfiguracji?
Ustawilem embbed manifest na off, zobacz teraz
keeveek
3.06.2006 - 20:40
teraz mam inny błąd, a nawet dwa, najpierw..
a potem..
Niestety nie da sie dolaczyc tej bilioteki do DLL wiec bedziesz musial ja skopiowac do folderu z wtyczka
Drugi blad jest pewnie zwiazany z pierwszym
http://www.codeproject.com/cpp/vcredists_x86.asp - tutaj jest conieco o uruchamianiu pragramów/DLLów napisanych w C++8.0 na innych komputerach
keeveek
4.06.2006 - 17:51
dołącz do posta wszystkie biblioteki wymagane przez wtyczkę.. bo teraz np brakuje mi msvcp80d.dll
(albo) przekompiluj wtyczke jako "release"
Mam nadzieje ze zrobilem to dobrze bo az dziw ze zajmuje 13kB (Project->Propeteries i ustawilem Active(Release))
I o razu pytanie, gdzie sie ustawia info o wtyczce (cos jak version info w delphi), autor, wersja itp.?
skoro ta wersja wreszcie sie uruchamia to moze powiedziałbyś na jakiej zasadzie ta wtyczka działa i co dokładnie robi
Napisane w pierwszym poscie (ostanie zdanie), skoro wreszcie dziala to biore sie za dodawanie slow przez uzytkownika
Dziala na takiej zasadzie ze dzieli wiadomosc na slowa, a potem porownuje je do tych zakazanych
keeveek
4.06.2006 - 20:30
Wiedzialem ze 13KB to cos zbyt pieknie, zmienilem
Project->Propeteries->Configuration Propeteries->C/C++->Code Generation->Runtime Library na Multi-threaded /MT
oraz
Project->Propeteries->Configuration Propeteries->Manifest Tool->Use FAT32 Work-around na Yes
dulek000
4.06.2006 - 21:20
Runtime Library nie powinno być Multi-threaded DLL?
QUOTE(Mucha @ 4.06.2006 - 21:29)
Dziala na takiej zasadzie ze dzieli wiadomosc na slowa, a potem porownuje je do tych zakazanych
tzn nie dopuszcza do wyświetlenia tych słów czy może zamiast tych słów pisze <cenzura>? a łańcuszki?
KoSiarzPL
4.06.2006 - 21:29
QUOTE(Mucha @ 4.06.2006 - 20:54)
Mam nadzieje ze zrobilem to dobrze bo az dziw ze zajmuje 13kB (Project->Propeteries i ustawilem Active(Release))
I o razu pytanie, gdzie sie ustawia info o wtyczce (cos jak version info w delphi), autor, wersja itp.?
Tu
http://free.of.pl/k/k-api/pomoce/szablon.html masz napisane jak stworzyc wlasna wtyczke i podany link do szablonu w ktorym jest juz dolaczony odpowiedni zasob w ktorym podajesz werjse, autora, opis itp
QUOTE(dulek000 @ 4.06.2006 - 22:24)
Runtime Library nie powinno być Multi-threaded DLL?
W tym wypadku wyskakiwal blad 14001, gdzies na jakims forum znalazlem ze tak trzeba zrobic
QUOTE(beosia @ 4.06.2006 - 22:28)
tzn nie dopuszcza do wyświetlenia tych słów czy może zamiast tych słów pisze <cenzura>? a łańcuszki?
Wiadomsc ktora dostajesz zmienia tresc na: "Wiadomość została usunięta ponieważ zawierała słowa niecenzuralne" LUB "Wiadomość nie przeszła testu anty-łańcuszkowego", on dostaje taka sama
czy taka wiadomość która nie przeszła testu jest gdzieś zapisywana w wersji oryginalnej np w historii wiadomości usuniętych?
Niestety nie, a powinna byc, poprawie to
Tu wyniki moich prob:
CODE
case IM_MSG_RCV: IM_MSG_delete; //NIC
case IM_MSG_RCV: IM_MSG_ok;
case IM_MSG_RCV: IM_MSG_delete; // krzaczy
m->flag = MF_HIDE; //wiadomosc jest ukryta, ale caly czas mruga ikonka nowej wiadomosci
m->flag = MF_HIDE| cokolwiek innego //krzaczy
dulek000
5.06.2006 - 06:58
Mucha: Dobrze wiedzieć - też miałem z tym błędem problemy.
Kosiarz: Mucha korzysta z VS2005…
KoSiarzPL
5.06.2006 - 12:34
no ja doszedlem do tego ze korzysta z 2005, ale to niczego nie zmienia poza dodatkowa konfiguracja. Szkielet wtyczki powinien dzialac wraz z tym czego potrzebowal i jest rowniez poprawiony plik plug_defs.cpp.
dulek000
5.06.2006 - 14:03
Uwierz, zmienia bardzo wiele - komilowanie DLL-ów pod 2005, tak aby działały na innych komputerach sprawia same problemy. Po prostej konwersji projektu na 2005 wtyczka wywala się u innych przy starcie.
Dobra, zrobilem tak ze kopia oryginalnej wiadomosci wedruje do historii (do nieobsluzone), a jej oryginal zostaje zmienony na "Wiadomość została usunięta ponieważ ...". Na razie nie publikuje nowszej wersji bo natrafilem na blad, dlaczego jak daje wszystkie warunki w IM_MSG_RCV (czyli logicznie wiadomosci odebrane) to obslugiwane sa takze wiadomosci wysylane??? Mam pomysl jak to obejsc: if (m->fromUid!=moj numer), tylko nie wiem jak pobrac moj numer(y), moze jest jakas latwiejsza metoda zeby rozroznic wiadomosc wychodzaca od przychodzacej?
KoSiarzPL
5.06.2006 - 16:54
Dulek przeczytaj jeszce raz na jakie pytanie dałem odpowiedź swoim postem. Nie na "jak skonfigurować projekt dla MVS 2005", tylko jak dodać informacje o wtyczce do projektu.
Nowa wersja, znane bledy w pierwszym poscie
QUOTE(Mucha @ 5.06.2006 - 15:14)
[...] Mam pomysl jak to obejsc: if (m->fromUid!=moj numer), tylko nie wiem jak pobrac moj numer(y), moze jest jakas latwiejsza metoda zeby rozroznic wiadomosc wychodzaca od przychodzacej?
wystarczy, ze sprawdzisz czy
fromUid jest pusta
Niestety jak dam
CODE
if (m->ext!="nadane przez Cenzura")|(m->fromUid!="")
to sie zawiesza konnekt przy uruchamianiu, jak jest samo
CODE
if (m->fromUid!="")
to wyskakuje STACK OVERFLOW, probowalem z || ale wtedy nie dziala
moze najpierw zabierz sie przynajmniej za SDK, a dopiero pozniej sie realizuj, hm?
CODE
if (( m->fromUid != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
, co tu jest zle? (nadal filtruje zarowno wychodzace jak i przychodzace)
KoSiarzPL
6.06.2006 - 13:23
1. Napisz słownie w jednym poscie, co chcesz uzyskac
2. Napisz słownie jaki warunek ma byc spełniony żeby ...
Bo ja już się pogubiłem a nie chce mi sie wnikać.
Chce aby:
W IM_MSG_RCV byly przerabiane tylko wiadomosci
odbierane, a nie wysylane ode mnie
Warunek:
Jesli wiadomosc jest wysylana DO mnie oraz nie jest wiadomoscia od wtyczki Cenzura(jesli sie tego nie sprawdzi to nastapi zapetlenie) to wtedy ta wiadomosc ma byc przefiltrowana, jesli nie spelni warunku to nic niech nie zostanie zmienione
To co napisalem:
CODE
case IM_MSG_RCV:
{
cMessage * m = (cMessage*)msg->p1;
if (( m->fromUid != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
{filtrowanie}
KoSiarzPL
6.06.2006 - 17:31
Poprawne:
CODE
if (( m->fromUid[0] != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
W trakcie wysyłania obrazka przez ggimage cenzura wywala konnekta:
------
Wystąpił wyjątek krytyczny
Critical structured Exception "Access Violation" occured at adress 0x02262238 in the main Thread.
Information: can't read 38303936
inIM: 20100(0x4bbf9dc , 0x0)(30B) [CORE->cenzura.cpp]
Stack trace:
.00002238 [Cenzura]
Nastąpi zamknięcie programu!
------
ponadto dołączam się do propozycji keeveeka aby nazwa wtyczki była bardziej konnektowa -> głosuję na CenzoreK
Czemu informacji o autorze nie zrobisz takiej jak w kazdej wtyczce? Czyli ikonka i pod klikiem dopiero informacja o autorze a tam gdzie teraz jest to opis wtyczek
QUOTE(zhvir @ 7.06.2006 - 16:42)
W trakcie wysyłania obrazka przez ggimage cenzura wywala konnekta:
teraz beda filtrowane tylko wiadomosci przychodzace
QUOTE
ponadto dołączam się do propozycji keeveeka aby nazwa wtyczki była bardziej konnektowa -> głosuję na CenzoreK
Nie
QUOTE(Akira @ 7.06.2006 - 18:26)
Czemu informacji o autorze nie zrobisz takiej jak w kazdej wtyczce? Czyli ikonka i pod klikiem dopiero informacja o autorze a tam gdzie teraz jest to opis wtyczek
1. Nie w kazdej tak jest
2. Nie mam ikonki
3. Czy to jest w tej chwili najwazniejsze?
Przepisalem nowa wersje na szablony ze strony kApi, nie wiem czy dziala bo od nowa musialem ustawiac kompilator, dlatego zostawilem tez stara wersje jakby nie dzialalo
po pierwsze mała poprawka: ja wysyłam obrazek i u drugiej strony przy włączonej wtyczce cenzura konnekt sie wywala
po drugie: nie to nie
wilkZWS
8.06.2006 - 15:04
Ciesze sie, że wkońcu ktoś wziął sie za napisanie tej wtyczki.
Co do samej wtyczki to niech nie zapisuje nigdzie oryginalnych wiadomości (albo niech użytkownik sam o tym decyduje) tylko niech wysyła pewien komunikat (ustalony wcześniej przez użytkownika, który może sobie zmieniać wedle własnego uznania) do danej osoby, blokując wcześniej daną wiadomość. Jeżeli chodzi o filtrowanie to powinna być jakaś podstawa, czyli ogólne słowa, na podstawie, których będą blokowane wiadomości, ale żeby było to rozdzielone, ponieważ chcę, żeby tylko same łańcuszki były blokowane a nie wulgaryzmy i żeby użytkownik mógł ewentulanie dodawać nowe słowa, zwroty itp.
Tak sobie wyobrażam tą wtyczkę. Nie testowałem jeszcze tej wersji - poczekam aż sie bardziej rozwinie...
Takie jest moje zdanie
Odpaliles
wogole ta wtyczke? To wszystko co tu napisales juz jest! (z wyjatkiem usuwania oryginalnej wiadomosci)
wilkZWS
8.06.2006 - 16:30
Przecież napisałem, że jeszcze nie testowałem.
Skoro mówisz, że wszystko jest - w takim razie już ją odpalam...
Odpaliłem...
A gdzie można ustawić własny tekst komunikatu, który jest wysyłany do osoby po stwierdzeniu np. łańcuszka?
Znajomy wysłał mi łańcuszek na próbę i takie coś wyskoczyło...
Wystąpił wyjątek krytyczny
Critical structured Exception "Access Violation" occured at adress 0x7C911E58 in the main Thread.
Information: can't read 0
inIM: 20100(0x16cfebc , 0x0)(30B) [CORE->cenzura.cpp]
Stack trace:
.00011E58 RtlInitializeCriticalSection+0x0000032B [ntdll_5.1.2600.2180]
.00018251 RtlReAllocateHeap+0x00000854 [ntdll_5.1.2600.2180]
.00011C76 RtlInitializeCriticalSection+0x00000149 [ntdll_5.1.2600.2180]
.00002A79 [cenzura_0.0.0.7]
Nastąpi zamknięcie programu!
Jest to jeden z wielu bledow ktore nie wiem skad sie biora, funkcja sprawdzajaca wiadomosc testowana pod aplikacja konslowa dziala w 100%...
wilkZWS
8.06.2006 - 19:31
Nie wiem, ale w każdym bądź razie u mnie nie działa - może to coś u mnie jest nie tak. Ale mniejsza o to. Napewno wtyczke trzeba jeszcze dopracować
Trzymam kciuki za końcowy sukces
KoSiarzPL
9.06.2006 - 16:45
Co wy tak naskakujecie na autora tej wtyczki, hehe, jak by wam krzywdę robił. Nazwa to rzecz gustu, mi ona nie przeszkadza a wciskanie K w nazwę wtyczki to czasami przesada. Mam jednak przeczucie, że wstawianie K do nazw wtyczek przyjdzie samo (bo to jest jak nałóg)
Probuje poprawic te bledy i mam pytanie co do logow, co to znaczy
QUOTE
## [GG] --- MSG_NEW: c=415125, t=448ad4c6 ---
## [CORE] -> T=64
## [CORE] >> T=64 <<
i jak zapobiec temu
QUOTE
## [CORE] Wiadomosc bez obslugi lub usunieta - tresc...
KoSiarzPL
11.06.2006 - 11:05
A w jakim momencie dostajesz ten błąd?
To pierwsze to nie jest blad, tylko jak wiadomosc przychodzi, zastanawiam sie czy T oznacza timeout? I po co to drugie jest?
Potem laduje sie moja wtyka, zaczyna przetwarzac wiadomosc, robi troche operacji potem jest to drugie co nie wiem, zrobi jeszcze pare operacji i blad. Moze slabo to wytlumaczylem wiec zalaczam logi
wilkZWS
21.06.2006 - 13:41
Jak tam prace idą?
Wcale, nie wiem skad biora sie te bledy.
wilkZWS
23.06.2006 - 06:54
Szkoda
Zx_Shadow
9.07.2006 - 18:37
Mi po dodani wtyczki, konnekt ledwo łączył sie z siecią i zaraz się
wyłanczał..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.